[具有NGINX的Apache服务器的400错误请求负载平衡器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[具有NGINX的Apache服务器的400错误请求负载平衡器相关的知识,希望对你有一定的参考价值。

我正在使用nginx作为Apache WebServers(WordPress)的负载平衡器。所有服务器均由AWS EC2制成。我的NGINX配置:

cat /etc/nginx/sites-available/default



upstream web_backend 
        server 35.157.101.5;
        server 35.156.213.23;


server 
        listen 80;
        location / 
                proxy_pass http://web_backend;
        

但是NGINX重新启动后,我通过公共ip访问负载均衡器并收到错误:

错误请求

您的浏览器发送了此服务器无法理解的请求。

此外,尝试执行以下操作时遇到400错误的请求错误使用ErrorDocument处理请求。

Apache / 2.4.29(Ubuntu)服务器位于ip-172-31-35-36.eu-central-1.compute。内部端口80

如果刷新页面,我会遇到相同的错误,但最后得到另一个IP(第二台服务器的专用IP),因此我知道NGINX可以完成工作,这是Apache的问题。我尝试在nginx配置中为服务器添加80端口,用dns和private ip替换ips,但这没有帮助。 Apache上的访问日志没有显示任何有用的信息,只有400个错误。可能是什么问题?

答案

只需检查Apache WebServer在哪些端口上运行。您必须将它们添加到上游。

例如:

upstream web_backend 
        server 35.157.101.5:8080; //assuming that your apache webserver is running on this port on this host
        server 35.156.213.23:3000;//And a different port on the other.. you still need to add them here if your ports are same

另一答案

请勿在上游名称中使用“ _”,这是我遇到问题的唯一原因。

以上是关于[具有NGINX的Apache服务器的400错误请求负载平衡器的主要内容,如果未能解决你的问题,请参考以下文章

解决nginx转发websocket报400错误

解决nginx转发websocket报400错误

解决nginx转发websocket报400错误

解决nginx转发websocket报400错误

请提供地理服务器建议 - HTTP 状态 400 - 错误请求

nginx 日志出现400错误