用nginx反向代理时,访问不到tomcat下用request.getRequestDispatcher("path")跳转的页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用nginx反向代理时,访问不到tomcat下用request.getRequestDispatcher("path")跳转的页面相关的知识,希望对你有一定的参考价值。

如果nginx和tomcat在同一台服务器可以代理,则说明nginx的犯下那个代理功能是正常的。
但是放在两台服务器则失效,需要考虑的是:A服务器是否有权限访问B服务器。
如果B服务的地址为:192.168.100.10:8080,A的配置为:

if ($request_uri ~ "xxx")
proxy_pass http://192.168.100.10:8080;

break;



对于一条请求,先看一下A转发的请求是否到达了B服务器,如果到达B了然后再看下具体什么原因没有跳转。
如果这条请求根本就没有到达B服务器,可以把nginx的日志级别调成debug,然后跟踪nginx的错误日志看下具体原因。
参考技术A 你的nginx配置转发到那里的,还有你的jsps目录在那里追问

谢谢,已经解决了

nginx反向代理tomcat,不能完全访问,速度也很慢

同一台机器,用nginx反向代理tomcat,没使用nginx直接访问是这样

用了nginx代理访问后就成这样了,而且还不能登录;

nginx.conf如下:

刚接触nginx,这个还需要怎么配置?求解答,谢谢。

问题解决了,我也是刚学nginx,你这个问题我也碰到了。我是页面引用文件使用request获取当前环境地址,你可以调试下,引用的文件全部没找到。

location / 
proxy_pass http://local_tomcat;

# nginx非80端口处理 
proxy_set_header        Host $host:$server_port; 
# 获取真实IP 
proxy_set_header        X-Real-IP $remote_addr; 
# 获取代理者的真实ip 
proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; 
# 解决getScheme,isSecure,sendRedirect
proxy_set_header X-Forwarded-Scheme  $scheme; 
client_max_body_size    10m; 
client_body_buffer_size 128k; 
#proxy_connect_timeout   90; 
#proxy_send_timeout      90; 
#proxy_read_timeout      90; 
proxy_buffer_size       4k; 
proxy_buffers           4 32k; 
proxy_busy_buffers_size 64k; 
proxy_temp_file_write_size 64k;
        

把上面的proxy_pass修改成你自己的,其他的拷贝到你的nginx.conf中,就可以了。

参考技术A nginx和tomcat的配置比较严格了哦, 看下wo 的网名行吗??一定能解决的 !!!!!! 参考技术B 网页权限与nginx一样嗯

以上是关于用nginx反向代理时,访问不到tomcat下用request.getRequestDispatcher("path")跳转的页面的主要内容,如果未能解决你的问题,请参考以下文章

详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

nginx反向代理tomcat,不能完全访问,速度也很慢

nginx反向代理配置不生效

Nginx反向代理时tomcat日志获取真实IP

nginx反向代理+tomcat域名绑定

nginx反向代理多个tomcat服务