Nginx

Nginx

常用命令

nginx -t                # 查看nginx状态
nginx -s reload         # 重新载入配置文件
nginx -s reopen         # 重启 Nginx
nginx -s stop           # 停止 Nginx

nginx正则匹配 参考

语法规则:

location [=|~|~*|^~|!~|!~*] /uri/ { … }

模式含义
location = /uri= 表示精确匹配
location ^~ /uri^ 进行前缀匹配,~ 表示区分大小写
location ~ pattern~ 区分大小写的匹配
location ~* pattern~* 不区分大小写的匹配
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location /通用匹配,任何未匹配到其它 location 的请求都会匹配到,相当于 switch 中的 default
location !~区分大小写不匹配
location !~*不区分大小写不匹配

匹配优先级

  • 首先精确匹配 =
  • 其次前缀匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 然后匹配不带任何修饰的前缀匹配
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

匹配的时候依照最佳匹配规则,按照能匹配到的最多的规则进行匹配

location ^~ /test/react/location ^~ /test/,请求 http://localhost/test/react/react.dev.js,会匹配 location /test/react/

proxy_set_header 参考

roxy_set_header用来重定义发往后端服务器的请求头。

# 语法格式: 
proxy_set_header Field Value;
# Value值 可以是包含文本、变量或者它们的组合。常见的设置如: 
proxy_set_header Host $proxy_host; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $remote_addr;

注意:在nginx的配置文件中,如果当前模块中没有proxy_set_header的设置,则会从上级别继承配置。继承顺序为:http, server, location。

X-Real-IP

是指客户端的真实IP,如果设置了$remote_addr这个值,后端服务器就能获取到客户端的真实IP(向nginx发送请求的ip地址)

Host

$http_host 原始请求的host

$proxy_host ngnix的host(proxy_pass的host)

X-Forwarded-For

$proxy_add_x_forwarded_for

X-Forwarded-For的值:第一台nginx的ip",也就是“192.168.1.1, 192.168.1.2”

$remote_addr

在只有一个代理服务器的转发的情况下,两者的效果貌似差不多,都可以真实的显示出客户端原始ip。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值