nginx 反向代理不返回网站

nginx 反向代理不返回网站

设置

目前,我们有一个 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 配合正确,因此虚拟机可以正常运行。

我错过了什么?什么可能导致这些问题?

相关内容