如何为动态子域配置nginx并处理反向代理?

时间:2017-02-28 10:56:13

标签: nginx reverse-proxy gunicorn

我正在使用以下nginx设置:

server {

    listen       80;
    server_name localhost *.localhost ;


    access_log off;

    location /static/
   {
    autoindex on;
   alias /var/www/machax/static/;
    }

    location / {
            proxy_pass http://127.0.0.1:8001;
            proxy_set_header X-Forwarded-Host $proxy_add_x_forwarded_for ;
            proxy_set_header X-Real-IP $remote_addr;
            add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}

但问题是它将主机检测为127.0.0.1:8001而不是beta.localhost或任何其他子域。只是为了测试我尝试将以下内容编写为proxy_set_header X-Forwarded-Host beta.localhost ;并且有效。有什么方法可以让子域名动态地附加到proxy_set_header X-Forwarded-Host

感谢。

1 个答案:

答案 0 :(得分:0)

$host built in var应包含当前请求的主机。试试这个:

proxy_set_header X-Forwarded-Host $host;