nginx根据路径配置反向代理

  今天,测试 一个后台接口,写了个html,在其中使用jquery发送请求给后台,chrome91竟然报错说跨域给error了!那岂不是以后本机页面不能和后端愉快的玩耍了?

  于是,配置起了nginx+反向代理的方式,旨在迂回对抗chrome的新安全机制。

目标地址:http://127.0.0.1:8006/publish/template/modifyInterPublish

配置如下:

复制代码
 1 server {
 2     listen       80;
 3     server_name  localhost;
 4 
 5     location / {
 6         root   html;
 7         index  index.html index.htm;
 8         if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jar|war)$) {
 9             add_header Content-Disposition 'attachment'; 
10         }
11     }
12 
13     location /proxy {
14         proxy_pass http://127.0.0.1:8006;
15         index index.html;
16     }
17     
18 }
复制代码

结果:怎么也访问不到!

原来只差一个“/”!

即:

1 location /proxy {
2     proxy_pass http://127.0.0.1:8006;
3     index index.html;
4 }

改为:

1 location /proxy {
2     proxy_pass http://127.0.0.1:8006/;
3     index index.html;
4 }

原来proxy_pass匹配路径后加杠代理后将去掉已匹配的路径,不加杠则保留已匹配的路径。

请求网址:http://127.0.0.1:8006/publish/template/modifyInterPublish

使用 proxy_pass http://127.0.0.1:8006; 代理后的网址为:http://127.0.0.1:8006/proxy/publish/template/modifyInterPublish

使用 proxy_pass http://127.0.0.1:8006/; 代理后的网址为:http://127.0.0.1:8006/publish/template/modifyInterPublish

而location匹配的路径后有没有杠无所谓,即

location /proxy  和 location /proxy/  匹配的结果没有区别。

最后再上正确的配置:

复制代码
 1 server {
 2     listen       80;
 3     server_name  localhost;
 4 
 5     location / {
 6         root   html;
 7         index  index.html index.htm;
 8         if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jar|war)$) {
 9             add_header Content-Disposition 'attachment'; 
10         }
11     }
12 
13     location /proxy {
14         proxy_pass http://127.0.0.1:8006/;
15         index index.html;
16     }
17     
18 }
复制代码

 

posted @   光何  阅读(1243)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2019-06-30 JS数组常见方法的深浅拷贝分类

点击右上角即可分享
微信分享提示