设置Nginx - Nginx在URL中放置上游名称

时间:2017-05-01 03:40:36

标签: nginx load-balancing

为什么nginx是nginx将上游名称放在重定向的URL中?

这是我的nginx.conf

worker_processes  1;
events {
   worker_connections 1024;
}
http {
    upstream servs {
         server facebook.com;
    }
    server {
        listen 80;
        location / {
              proxy_pass http://servs;
        }
    }
}

当我访问端口80时,我得到:

  

无法访问此网站

     

无法找到servs.facebook.com的服务器DNS地址。

为什么放置" 服务。"在 facebook.com 之前?

1 个答案:

答案 0 :(得分:0)

您没有在上游请求中设置Host标头,因此nginx构造了proxy_pass指令中的值。当您使用upstream块时,此值是upstream块的名称,而不是您尝试访问的服务器的名称。

如果您使用upstream块,建议明确设置Host标头:

proxy_set_header Host example.com;

有关详情,请参阅this document