nginx 反向代理无法为远程服务器提供服务

nginx 反向代理无法为远程服务器提供服务

这是我nginx.confcs2

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
error_log  /var/log/nginx/error.log  notice;
error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
        upstream web-spr {
                server      web-ws:80 max_fails=1 fail_timeout=10s;
                server      web-ws.atcs1.dom.com:80 max_fails=1 fail_timeout=10s;
        }

        server  {
                listen  interface:80;
                server_name     web-ws.atcs2.dom.com;
                location /service {
                        proxy_pass http://web-spr;
                }
        }

这是我/etc/hostscs2

154.25.39.126  web-ws.atcs1.dom.com        # Remote Server IP on some other network
192.168.0.1    web-ws                      # eth0:1 (vitual interface) IP
10.10.107.235  interface                   # eth0 IP

最后这是/etc/hosts我的本地电脑上的内容:

208.225.249.12  web-ws.atcs2.dom.com
154.25.39.126   web-ws.atcs1.dom.com

现在的问题是,在web-ws:80'web-ws.atcs1.dom.com:80' 上我有一个启动并正在运行的 tomcat 服务器。

但是当我通过 在我的本地电脑上访问它时http://web-ws.atcs2.dom.com,一次点击响应正常,但下一次点击时出现 404 错误。我的意思是所有其他点击都返回了期望的结果,否则会失败并出现 404 错误。

错误日志未显示任何内容。

对此有什么线索吗?我犯了什么错误?

答案1

如果每 2 个请求中 1 个正常运行,而另一个出现 404,则在我看来,这很可能是 1 个上游服务器正常运行,而另一个返回 404。

请记住,nginx 默认以循环方式尝试上游服务器。

由于您没有看到任何 5xx 错误,这表明没有服务器错误。404 是客户端错误,这意味着由于没有任何内容匹配,因此无法满足请求。

我建议你查看一下你的 tomcat 服务器。由于你可以从你的机器连接到 154.25.39.126,所以这个服务器看起来正常。尝试深入研究 cs2 机器本地接口上监听的那个服务器。

到目前为止我还没有发现任何涉及 nginx 的问题。

相关内容