摘要
本文部分内容来源于网络,个人收集整理,请勿传播
nginx常用的配置
常用设置
日志配置
1 | log_format main '$time_iso8601|$remote_addr|$remote_user|$request_method|$uri|' |
反向代理透传客户端IP设置
1 | proxy_set_header Host $http_host; |
全局变量
1 | $args #这个变量等于请求行中的参数。 |
Rewrite规则
rewrite 正则 替换 标志位
flag标记
rewrite指令的最后一项参数
- last last是终止当前location的rewrite检测,但会继续重试location匹配并处理区块中的rewrite规则。
- break break是终止当前location的rewrite检测,而且不再进行location匹配。
- redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址。
- permanent 返回301永久重定向,浏览器地址会显示跳转后的URL地址。
1 | # 正则匹配 |
反向代理的路由策略
location 语法
1 | location [=|~|~*|^~] /uri/ {…} |
=
开头表示精确匹配,不支持正则。^~
开头表示uri以某个常规字符串开头,不支持正则,理解为匹配url路径即可。~和~*
开头表示区分大小写的和不区分大小写的正则匹配。!~和!~*
开头表示区分大小写不匹配及不区分大小写不匹配的正则匹配。/
通用匹配,任何请求都会匹配,通常放着配置的最后。
匹配优先级
1 | = > ^~ > ~, ~* > 空 |
示例
1 | # 字符串匹配 |
http转https
rewrite
1 | server { |
return
1 | server { |
error_page
1 | server { |
常用虚拟主机配置
https
1 | server { |
upstream
1 | upstream zabbix{ |
location
1 | server { |
通过url中不同参数定位到不同项目和不同环境
1 | location /www/ { |
rewrite
1 | location /xxx/ |
nginx做正向代理(透明代理)
- 解决自定义端口问题
1 | server { |
nginx常用变量
1 | $args #请求中的参数值 |
其他
1 | log_format有一个默认的、无须设置的combined日志格式设置,相当于Apache的combined日志格式,其具体参数如下: |