这是我nginx.conf
的cs2
:
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/hosts
的cs2
:
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 的问题。