我坚持一项简单的任务。 我有3个实例的Tomcat集群:
IP = 10.0.0.136(我机器的IP);港口= 8180; 8280; 8380;
然后我使用以下 nginx.conf :
运行nginxhttp {
upstream tomcat_servers {
server 10.0.0.136:8180;
server 10.0.0.136:8280;
server 10.0.0.136:8380;
}
...
server {
listen 8011;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat_servers;
}
我的Tomcat实例已启动并运行,我可以在浏览器中查看它们并显示Tomcat的起始页面。
但是当我在 localhost:8011 上来到nginx时,会出现Bad Request 400 HTTP状态。 在日志中也没有错误...我已经重新启动了nginx,以防万一。
我在Mac和Linux Ubuntu上遇到此错误。
我错过了什么?
在error.log中没有错误。
答案 0 :(得分:1)
我发现了问题所在……这很奇怪,但是当我使用它时:
upstream tomcats {...} //in proxy_pass also of course
不带符号“ _” ,则一切正常。我怀疑这可能是我在编写时遇到的错误,并且使用简单:
upstream a_b {...}
,还收到了400个错误的请求。
所以我不知道为什么会这样,但这可以解决问题。
我使用 Ubuntu 18.04 和 nginx版本:nginx / 1.14.0(Ubuntu)