Nginx配置proxy_pass转发的/路径问题

简介:
+关注继续查看

在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。

location ^~ /static_js/ 

proxy_cache js_cache; 
proxy_set_header Host js.test.com; 
proxy_pass http://js.test.com/
}

如上面的配置,如果请求的url是http://servername/static_js/test.html
会被代理成http://js.test.com/test.html

而如果这么配置

location ^~ /static_js/ 

proxy_cache js_cache; 
proxy_set_header Host js.test.com; 
proxy_pass http://js.test.com
}

则会被代理到http://js.test.com/static_js/test.htm

当然,我们可以用如下的rewrite来实现/的功能

location ^~ /static_js/ 

proxy_cache js_cache; 
proxy_set_header Host js.test.com; 
rewrite /static_js/(.+)$ /$1 break; 
proxy_pass http://js.test.com

 


本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1103734,如需转载请自行联系原作者


相关文章
|
2月前
|
前端开发 应用服务中间件 API
Nginx 反向代理 去除 路径匹配规则url
Nginx 反向代理 去除 路径匹配规则url
|
5月前
|
应用服务中间件 测试技术 nginx
详解nginx如何代理静态资源(长搜索路径优先)
详解nginx如何代理静态资源(长搜索路径优先)
536 0
|
8月前
|
前端开发 应用服务中间件 nginx
nginx部署之https访问按照不同路径访问不同项目
上一篇介绍过如何在一个nginx上使用同一个端口部署多个web项目进行访问.具体内容可以参考:nginx支持一个端口访问多个前端项目(http以及https).
|
9月前
|
关系型数据库 MySQL 应用服务中间件
Centos中查看nginx、apache、php、mysql配置文件路径
Centos中查看nginx、apache、php、mysql配置文件路径
1815 0
|
10月前
|
存储 应用服务中间件 开发工具
Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径(四)|学习笔记
快速学习 Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径
81 0
Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径(四)|学习笔记
|
10月前
|
监控 Ubuntu JavaScript
Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径(三)
Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径(三)
271 0
Nginx location 基础使用、四层访问控制、账户认证及自定义日志路径(三)
|
11月前
|
应用服务中间件 nginx Docker
docker中nginx的默认路径位置和映射目录启动
docker中nginx的默认路径位置和映射目录启动
897 0
docker中nginx的默认路径位置和映射目录启动
|
应用服务中间件 Linux 开发工具
05_Linux基础-NGINX编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-Windows、Linux文件传输
NGINX编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-Windows、Linux文件传输
111 0
05_Linux基础-NGINX编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-Windows、Linux文件传输
|
存储 Kubernetes 应用服务中间件
k8s部署nginx使用nfs挂载路径以及configmap加载nginx.conf
k8s部署nginx使用nfs挂载路径以及configmap加载nginx.conf
698 0
|
应用服务中间件 nginx
相关产品
云迁移中心
推荐文章
更多