我的nginx版本是1.4.6:
root@jung-digital:~# nginx -v
nginx version: nginx/1.4.6 (Ubuntu)
我已经为其上安装了1.8.0版本的服务器设置了反向代理,正如在该服务器上点击无效路径所证实的那样。
但是,我的反向代理在尝试使用反向代理时显示了一个HTML页面:
404 Not Found
nginx/1.4.1 (Ubuntu)
世界上发生了什么?我的反向代理服务器和代理的目标服务器都没有使用nginx 1.4.1。
对于那些好奇的人,这里是我的nginx.conf中的相关部分:
upstream ireport_dyndns {
server ireport.somedomain.org;
}
...
server {
listen 80;
server_name ireport.somedomain2.com;
access_log /var/log/nginx/ireport.access.log;
root /var/www/ireport.somedomain2.com/dist;
index index.html index.htm;
location /api/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-proxy true;
proxy_pass http://ireport_dyndns/api/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}
答案 0 :(得分:0)
发现这肯定是nginx中的一个错误。代理服务器的配置更改正在检查HOST标头,而我的proxy_pass设置正在发送错误的HOST,因此代理服务器返回404.
来自代理服务器的响应在标题中指定了NGINX 1.8.0,但在正文中指定了1.4.1。
nginx中的错误。