漳州市网站建设_网站建设公司_Oracle_seo优化
2026/1/9 23:59:18 网站建设 项目流程

概述

Nginx 配置中locationproxy_pass指令的不同组合方式及其对请求转发路径的影响。

配置效果

1.locationproxy_pass都带斜杠/
location /api/ { proxy_pass http://127.0.0.1:8080/; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/upload

转发地址不带 location 匹配目录 /api/

2.location不带斜杠,proxy_pass带斜杠/
location /api { proxy_pass http://127.0.0.1:8080/; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080//upload

转发地址会多带 /

3.location带斜杠,proxy_pass不带斜杠
location /api/ { proxy_pass http://127.0.0.1:8080; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/api/upload

转发地址会带 location 匹配目录 /api/

4.locationproxy_pass都不带斜杠
location /api { proxy_pass http://127.0.0.1:8080; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/api/upload

转发地址会带 location 匹配目录 /api/

5.locationproxy_pass都带斜杠/,但proxy_pass带地址
location /api/ { proxy_pass http://127.0.0.1:8080/server/; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server/upload

转发地址不带 location 匹配目录 /api/

6.location不带斜杠,proxy_pass带斜杠/,但proxy_pass带地址
location /api { proxy_pass http://127.0.0.1:8080/server/; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server//upload

转发地址不带 location 匹配目录 /api/ ,会多带 /

7.location带斜杠,proxy_pass不带斜杠,但proxy_pass带地址
location /api/ { proxy_pass http://127.0.0.1:8080/server; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/serverupload

转发地址不带 location 匹配目录 /api/ 直接进行了替换

8.locationproxy_pass都不带斜杠,但proxy_pass带地址
location /api { proxy_pass http://127.0.0.1:8080/server; }
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server/upload

转发地址不带 location 匹配目录 /api

总结

  • proxy_pass代理地址端口后有目录(包括/),转发后地址为:代理地址 + 访问 URL 目录部分去除location匹配目录
  • proxy_pass代理地址端口后无任何内容,转发后地址为:代理地址 + 访问 URL 目录部分(包括location地址)

场景示例

upstream backend_name_hw { server 10.10.10.10:32323 max_fails=2 fail_timeout=2; } server { listen 80; server_name hw.test.com; client_max_body_size 1024m; client_body_timeout 12; client_header_timeout 12; keepalive_timeout 15; send_timeout 10; location / { proxy_pass http://backend_name_hw; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /hello { proxy_pass http://backend_name_hw/hello; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }


location /hw/ { proxy_pass http://hw-nginx/index.html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

location /hwhw/ { proxy_pass http://hw-nginx/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

location /hw/hi/ { proxy_pass http://hw-nginx/hello/index.html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

location /hello/index.html { proxy_pass http://hw-nginx; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询