我坚持完成一项简单的任务。 我有 3 个可用实例的 Tomcat 集群:
IP = 10.0.0.136 (IP of my machine); Ports = 8180; 8280; 8380;
然后我使用以下 nginx.conf 运行 nginx:
http {
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 中没有错误。
最佳答案
我发现了问题所在......但是当我使用它时很奇怪:
upstream tomcats {...} //in proxy_pass also of course
没有符号“_”那么一切正常。我怀疑这可能是我写的一些错误并使用了简单的:
upstream a_b {...}
并且还收到了 400 错误的请求。
所以我不知道为什么会这样,但是这解决了问题。
我使用的是 Ubuntu 18.04 和 nginx 版本:nginx/1.14.0 (Ubuntu)
关于tomcat - 为什么nginx不做简单的负载均衡。 Tomcat 实例。错误请求 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50877360/