【发布时间】:2013-05-05 21:09:05
【问题描述】:
我正在尝试使用 nginx 作为两个 Tomcat 实例的反向代理,每个实例都在自己的 VM 中。 问题是:当我开始向 proxy_pass 参数添加文件夹路径时,我收到 310 错误:重定向过多。
我做错了什么?任何建议表示赞赏。 第一个服务器工作正常,但如前所述,第二个添加了文件夹路径将无法工作。
这是我的 nginx 配置:
server {
listen 80;
server_name oc.domain.tld;
location / {
proxy_pass http://172.16.81.73;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name test.domain.tld;
location / {
proxy_pass http://172.16.75.99/OpenClinica/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80 default_server;
server_name _;
return 444;
}
编辑:目前没有启用 SSL(tomcat 和 nginx)
edit2:我的重写日志是空的(如果我打开它,调试通知级别)
我刚刚在我的 nginx 日志中发现了这一行(GET .../login/login 行重复了大约 20 次:
190.215.166.212 - - [04/May/2013:22:29:21 -0400] "GET /OpenClinica/pages/login/login HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31"
190.215.166.212 - - [04/May/2013:22:29:21 -0400] "GET /OpenClinica/pages/login/login HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31"
190.215.166.212 - - [04/May/2013:22:29:25 -0400] "-" 400 0 "-" "-"
190.215.166.212 - - [04/May/2013:22:29:25 -0400] "-" 400 0 "-" "-"
看来,nginx 请求 ....login/login 在一个循环中。那么问题可能出在tomcat方面?
【问题讨论】:
-
不确定它是否相关,但你的包罗万象的服务器应该是第一个而不是最后一个,不需要设置 server_name,并且应该返回标准 404 错误,而不是奇怪的自定义 444 错误这不是标准代码。
-
@Danack 删除默认服务器行不会改变行为,但感谢您的评论。
标签: tomcat nginx reverse-proxy