设置
目前,我们有一个 Apache2 网络服务器,充当我们网络架构的负载均衡器。后端是 Xen 虚拟机,可通过 IPv6 访问公共互联网,通过 IPv4 访问我们的 VPN。问题是 Apache 2 负载均衡器的性能不如我们所希望的那样好,所以我们正在切换到 nginx。
配置
安装的 nginx 版本是 1.3.10,它是使用标准 Debian 选项编译的。我们必须选择这个版本,因为它是唯一支持 IPv6 后端的版本,而 IPv6 后端是这些虚拟机的必需品。目前,nginx 只有一个“虚拟主机”或服务器块,如下所示。
upstream backend-cookissime-prod {
server cookissime-prod.cookissime1.vm.cob:80 max_fails=5;
server cookissime-prod.cookissime2.vm.cob:80 max_fails=5;
}
server {
listen 37.59.6.220:80;
# listen [::]:80;
server_name www.cookissime.fr;
access_log /var/log/nginx/cookissime-prod.log;
error_log /var/log/nginx/cookissime-prod.log;
## send request back to apache1 ##
location / {
proxy_pass http://backend-cookissime-prod;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream backend-cookissime-dev {
server cookissime-dev.cookissime1.vm.cob:80 max_fails=5;
server cookissime-dev.cookissime2.vm.cob:80 max_fails=5;
}
还有第二个代码块,它获取上述信息并将 prod 替换为 dev。域名 cookissime-prod.cookissime1.vm.cob 和 cookissime-prod.cookissime2.vm.cob 在我们的内部 DNS 上解析为 IPv6。
问题
上面的配置在语法上似乎不错。问题是,大多数情况下,此配置会显示默认的“欢迎使用 nginx”页面,但偶尔会显示网站几分钟,然后返回默认页面。
此设置与 Apache2 配合正确,因此虚拟机可以正常运行。
我错过了什么?什么可能导致这些问题?