nginx配置proxy_pass,需要注意转发的路径配置
1、location /test/ {
proxy_pass http://t6:8300;
}
2、location /test/ {
proxy_pass http://t6:8300/;
}
上面两种配置,区别只在于proxy_pass转发的路径后是否带
“/”
针对情况2,如果访问url = http://server/test/test.jsp,则被nginx代理后,请求路径会变为 http://proxy_pass/test.jsp,直接访问server的根资源
针对情况1,如果访问url = http://server/test/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/test/test.jsp,将test/ 作为根路径,请求test/路径下的资源
典型实例:
同一个域名下,根据根路径的不同,访问不同应用及资源
例如:A应用 http://server/a ; B应用 http://server/b
A 应用和 B应用共同使用访问域名 http://server;
配置nginx代理转发时,如果采用情况2的配置方式,则会导致访问http://server/a/test.jsp时,代理到http://proxy_pass/test.jsp,导致无法访问到正确的资源,页面中如果有对根资源的访问,也都会以http://server 做为根路径访问资源,导致资源失效
针对此类情况,需要采用情况1,分别针对不用应用,设置不同的根资源路径,并保证代理后的根路径也依然有效
分享到:
相关推荐
nginx配置proxy_pass时url末尾带“/”与不带“/”的区别如下: 注意:当location为正则表达式匹配模式时,proxy_pass中的url末尾是不允许有”/”的,因此正则表达式匹配模式不在讨论范围内。 proxy_pass配置中url...
最近排查一个web服务的问题,webserver使用的nginx,最终发现是踩了nginx中proxy_pass的一个坑,这里记录下来。 踩坑经过 一个线上的http服务,示例nginx关键配置如下: server { listen 80; server_name ligang....
前言日常不管是研发还是运维,都多少会使用Nginx服务,很多情况Nginx用于反向代理,那就离不开使用proxy_pass,有些同学会对 proxy_pass
nginx tcp负载均衡模块 配置方法: tcp { upstream nettyserver { server 192.168.3.57:9000; server 192.168.3.57:8000; check interval=3000 rise=2 fall=5 timeout=10000; } server { listen 26888; proxy...
格式很简单: proxy_pass URL; ... 示例如下: ...对于proxy_pass的配置有几种情况需要注意: 假设server_name为www.xxx.com 当请求http://www.xxx.com/aming/a.html的时候,以上示例分别访问的结果是 示例1
一个nginx的server模块下需要proxy到两个server,所以就通过location的不同路径来区分转发到不同的服务器上。 一开始是这么写的 location / { proxy_pass http://server1/; } location /index { proxy_pass ...
而在日常的web网站部署中,经常会用到nginx的proxy_pass反向代理,有一个配置需要弄清楚:配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,...
2、反向代理proxy_pass 2.1、反向代理 2.2、反向代理-使用upstream 2.3、反向代理-负载均衡-轮循模式 2.4、反向代理-负载均衡-权重模式 2.4、反向代理-负载均衡-ip_hash方式 3、网关代理fastcgi_pass(php+nginx配合...
在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。...
主要介绍了nginx代理配置完之后,nginx配置proxy_pass,需要注意转发的路径配置,需要的朋友可以参考下
Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { proxy_pass http://127.0.0.1:8008; } Apache2的反向代理的配置是: ProxyPass /ysz/ ...
nginx配置文件中斜杠/的6种含义 nginx配置proxy_pass时,/的6种含义+没有/的含义 nginx配置proxy_pass时,斜杠的6种含义,不写斜杠/的含义
1、首先我们回顾一下nginx中location的相关知识 1)location的匹配指令: ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 ^~ #^~表示普通字符匹配,不是正则匹配。如果该...
轻巧,无依赖性的koajs代理中间件,类似于nginx的proxy_pass。 安装 $ npm install @junyiz/koa-proxy-pass -S 用法 当您请求,它将获取并返回。 const Koa = require ( 'koa' ) ; const proxyPass = require ( '...
nginx中location中关于proxy_pass和rewrite的应用.rar
第一步:添加nginx.conf的http级别的缓存配置 第二步:在访问静态文件的location上添加缓存 第三步:在proxy_pass跳转的locatio
NULL 博文链接:https://phl.iteye.com/blog/2247856
nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围...