nginx代理配置,搞定proxy_pass配置

nginx代理配置

容易晕的proxy_pass 后面 url带不带"/"的问题

(1)配置 proxy_pass 时,当在后面的 url 加上了 /,相当于是绝对路径,则 Nginx 不会把 location 中匹配的路径部分加入代理 uri,即url直接替换为代理的地址。

(2)如果配置 proxy_pass 时,后面没有 /,Nginx 则会把匹配的路径部分加入代理 uri,即匹配的路径部分替换后代理的地址后,再加上请求的地址。

代理配置举例

下面几种情况的代理配置

1.请求地址:http://127.0.0.1/test -> http://xiaofei.site/dir/test

复制代码
#代理配置
location /test {
   proxy_pass http://xiaofei.site/dir ;
}

2.请求地址:http://127.0.0.1/test/ -> http://xiaofei.site/dir

复制代码
location /test {
    proxy_pass http://xiaofei.site/dir/ ;
}

3.请求地址:http://127.0.0.1/test/ -> http://127.0.0.1/dir/test/

复制代码
location /test/ {
   proxy_pass http://xiaofei.site/dir;
}

4.请求地址:http://127.0.0.1/test/ -> http://xiaofei.site/dir/

复制代码
location /test/ {
    proxy_pass http://xiaofei.site/dir/ ;
}

常用代理配置

前端页面代理
conf 复制代码
location /page {
            alias E:/softinstall/projects/page/;
            index index.html;
            charset utf-8;
            add_header Cache-Control no-cache;
            add_header Pragma no-cache;
            add_header Expires 0;
        }
前端请求代理
复制代码
location /xxx/ {
			proxy_pass http://127.0.0.1:9000/;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade"; 
			proxy_set_header Host $host:$server_port; 
			proxy_set_header X-Real-IP  $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header Cookie $http_cookie;
			proxy_connect_timeout 600s;
			proxy_send_timeout 600s;
			proxy_read_timeout 600s;
			client_max_body_size 1024m;
		}
后端请求代理
复制代码
location /xxx/ {
			proxy_pass http://localhost:8000/xxx/;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade"; 
			proxy_set_header Host $host:$server_port; 
			proxy_set_header X-Real-IP  $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_connect_timeout 600s;
			proxy_send_timeout 600s;
			proxy_read_timeout 600s;
			client_max_body_size 1024m;
		}
相关推荐
冬奇Lab4 小时前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
顺风尿一寸2 天前
Nginx源码分析:变量系统的设计与请求生命周期中的日志记录
nginx
爱吃橘子橙子柚子2 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大5 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair5 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
十二7406 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云6 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes