从零开发短视频电商 Nginx反向代理以及location匹配规则和优先级
2021/12/8 7:22:40
本文主要是介绍从零开发短视频电商 Nginx反向代理以及location匹配规则和优先级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 反向代理
- location匹配规则和优先级
- 实现苹果手机和安卓手机访问不同的地址
反向代理
#代理端口 #场景:服务器80端口开放,8080端口对外关闭,客户端需要访问到8080 #在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走 server { listen 80; location /api { proxy_pass http://127.0.0.1:8080/; proxy_redirect default; # 支持websocket反向代理 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host;# 当后端Web服务器上也配置有多个虚拟主机时,需要用该Header来区分反向代理哪个主机名, proxy_set_header X-Real-IP $remote_addr; #获取客户端真实IP地址设置到header中 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取所有转发请求的IP列表设置到header中 proxy_connect_timeout 30; #超时时间 单位秒 proxy_send_timeout 60; proxy_read_timeout 60; proxy_buffer_size 32k; proxy_buffering on; #开启缓冲区,减少磁盘io proxy_buffers 4 128k; proxy_busy_buffers_size 256k; proxy_max_temp_file_size 256k; #当超过内存允许储蓄大小,存到文件 } }
location匹配规则和优先级
从上往下,优先级越来越低。如果上面的匹配到,下面的就不会再尝试匹配了。
= /uri
精准匹配(url要完全匹配上),如果找到匹配=号的内容,立即停止搜索,并立即处理请求(优先级最高)^~ /uri
前缀匹配(url只要匹配到前面部分),只匹配字符串,不匹配正则表达式~ pattern
区分大小写的正则匹配pattern~* pattern
不区分大小写的正则匹配pattern/uri
前缀匹配(url只要匹配到前面部分)/
前面五个都没匹配上,就用/,优先级最低,兜底的。
匹配是有优先级的,不是按照nginx的配置文件进行。
location / 这个是最常用的,优先级最低的。
官方的例子:
location = / { [ configuration A ] } location / { [ configuration B ] } location /documents/ { [ configuration C ] } location ^~ /images/ { [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] }
结论:
/
匹配A。/index.html
匹配B/documents/document.html
匹配C/images/1.gif
匹配D/documents/1.jpg
匹配的是E。
实现苹果手机和安卓手机访问不同的地址
server { listen 80; server_name blog.etiantian.org; location / { if ($http_user_agent ~* "android") { proxy_pass http://android_pools; } if ($http_user_agent ~* "iphone") { proxy_pass http://iphone_pools; } proxy_pass http://pc_pools; include extra/proxy.conf; } access_log off; }
这篇关于从零开发短视频电商 Nginx反向代理以及location匹配规则和优先级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享