nginx:在nginx作了反向代理将pay.xxx.com映射到了hostname:80/pay
location ^~ / {
proxy_pass http://hostname:80/pay/;
}
tomcat: 在tomcat中获取requestURL打出来的是http://pay.xxx.com/pay/a/b.html, 多了一个pay,tomcat里面应该是自己拼装了requestURI。这样的requestURL重定向后,再经过nginx访问就会是http://pay.xxx.com/pay/pay/a/b.html。紧接着就是404.
解决方法1:
location ^~ /pay/ {
proxy_pass http://hostname:80/pay/;
}
把/pay也做了一次映射。这样做的目的是把错误的URL "http://pay.xxx.com/pay/a/b.html",映射到了http://hostname:80/pay/。
简单,但有点trick,并且一个资源会有两个地址。
解决方法2:
nginx添加一个header。
proxy_set_header request_uri $request_ur;
在fitler中拿出request_uri这个header,取出的是/a/b.html, 用它拼装出redirect的URL,注意要支持HTTP和HTTPS两种协议。
解决方法3
把项目都放到根目录下。通过http://hostname:80直接访问。
不知道大家是否有更好的解决方法。
分享到:
相关推荐
Nginx反向代理服务器配置基础教程
解决配置Nginx反向代理后,可以通过域名访问Linux下部署的Tomcat,但却访问不到部署的项目问题
两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { proxy_pass ...
通过使用Nginx 反向代理来解决JS跨域问题 http://blog.csdn.net/mzhaocai/article/details/79238338
教程视频:Nginx反向代理web服务器,后台java控制连接访问。
https服务器nginx反向代理配置,SSL连接下的域名访问应用服务器配置
nginx多网站反向代理
nginx反向代理配置 动静分离不错的代理
3.找到D:\nginx\conf下nginx.conf文件用记事本打开 在文段末尾大括号前加上 include proxy.conf;(就是加载刚刚新建的那个文件(注意路径)) 4.进入cmd 进入D盘: d: 进到nginx文件夹下:cd nginx 启动nginx.exe:...
尝试将 C2 隐匿于多级 nginx 反向代理关于利用多级 nginx 反代实现 beacon 上线的大致思路拓扑大致思路是这样,首先,我们会用一个 CS 的外
nginx反向代理、负载均衡、缓存静态资源、URL重定向、读写分离.zip
windows下配置nginx反向代理tomcat,从下载地址开始讲起,第二步讲常用命令 第三步讲了一个实例,第四步是配置说明
如何取得 nginx 做反向代理时的真实 IP
然后k兄就提议可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用nginx反向代理将不同域名的请求转发给...
此文比较详细讲述了Nginx与proxy共同搭建反向代理服务的配置方法
nginx反向代理tcp端口详细操作说明,代理所有tcp端口说明
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4...
nginx反向代理配置文件: - 客户端和nginx之间通过https连接 - nginx和服务器端之间通过http连接
Nginx反向代理Tomcat服务器.pdf
【nginx入门】nginx反向代理与负载均衡教程