首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
nginx
青草酱
创建于2021-10-07
订阅专栏
nginx学习
等 1 人订阅
共42篇文章
创建于2021-10-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
nginx开机自启动脚本
cd /etc/systemd/system vi nginx.service systemctl enable nginx
strict-transport-security配置(简称HSTS)
当网站由HTTP链接转为HTPPS链接时,为了兼容之前使用HTTP访问,和之后使用HTTPS访问的情况,我们通常会使用301,或者302,将HTTP重定向到HTTPS。 一、301 301为永久性重定
map模块
map模块和我们常用的switch.....case类似,它默认是被编译进nginx中的,可以使用--without-http_map_module进行禁用。 一、指令 map:map string
使用变量防盗链的secure_link模块
secure_link模块默认是没有被编译进nginx中的,所以要使用--with=http_secure_link_module模块编译进nginx中。 一、实现的过程 有服务器A生成加密后的安全U
使用变量防盗链的referer模块
referer模块只提供变量以及修改变量的值。 一、场景 referer模块能获取到HTTP请求头部的referer值,该值和document.referer值一致,document.referer源
HTTP模块提供的变量
除了http模块会提供大量的变量,还有nginx的HTTP框架也会提供一些变量。框架提供的变量不需要我们引入新的HTTP模块。 1、案例 使用 curl -H 'Content-Length: 0'
nginx变量的运行原理
nginx中变量相关的模块包括提供变量、使用变量的模块。整个过程如下: nginx启动,并执行到HTTP模块。 有一个回调方法叫preconfiguration,该回调方法在读取config文件之前,
HTTP过滤模块
上图是nginx的11ge阶段,当执行到content阶段时,会生成响应内容,之后要通过HTTP的过滤模块进行加工处理,所以HTTP过滤模块的执行时间是在content阶段之后,log阶段之前。 一、
access日志
access日志执行的阶段在log阶段,是11个阶段中的最后一个阶段,由ngx_http_log_module模块提供,默认是被编译进nginx中的,不能禁用。 一、指令 1、log_format l
content阶段
content阶段中一个常用模块:static模块,这个模块提供的root、alias是我们常用的两个指令。这个模块是nginx框架中的,我们不能进行移除。 一、root和alias指令 root和a
precontent阶段
一、try_files指令 按照配置的顺序请求文件。try_files指令是ngx_http_try_files_module模块的指令,该模块默认被编译进nginx中,没有办法禁用。 1、指令使用
access阶段
access阶段是用于控制请求是否可以继续向下访问。 一、access模块 access模块是一个很简单的模块,是用于控制哪些IP可以访问某些url,哪些ip不可以访问某些url。模块名是ngx_ht
preaccess阶段
preaccess阶段有两个模块,一个是限制每秒连接的请求数limit_req模块,一个是限制并发的连接数limit_conn模块。 一、limit_conn模块
find_config阶段
find_config做的事情是,根据请求的url匹配对应的location,确定哪个location处理请求。 一、location指令的使用 location的使用有两种: 使用location
rewrite模块
一、return指令 return指令是rewrite模块中的指令,而rewrite指令出现的地方有两个:一个是server rewrite,一个是location rewrite。 也就是说rewr
realip模块
realip模块可以获取到用户的真实IP。 1、TCP四元组 TCP四元组:源IP、源端口、目标IP、目标端口。 2、为什么要使用realip模块获取用户真实ip,而不是直接获取呢? 当用户发出一个请
HTTP请求处理时的11个阶段
当nginx接收到请求的头部,并且匹配到具体的server模块之后,所以此时我们已经知道了改server模块中的规则,location模块还没有确定,然后就可以进入11个阶段了。
server模块
一、server_name server_name的使用方法: 之后可以跟多个域名,第一个域名为主域名。 泛域名,比如:*.test.com,x.test.*等,只支持*在最前或者最后。 正则表达式,
listen指令的用法
一个请求进入nginx之后,处理请求之前,要先监听端口,使得nginx和客户端建立一个tcp链接。监听端口的指令为listen指令,它是放在server模块下的,比如: 一个http中可以有多个ser
冲突的指令配置以谁为准
一、配置块的嵌套 nginx的配置块的嵌套基本事例: 这是一个基本的嵌套配置。其中事件模块、配置进程、user的上下文都在main中,这不是我们重点关注的地方,我们要重点关注的地方是http模块及其里
下一页