如何为动态子域配置nginx并处理反向代理?
How to configure nginx for dynamic sub domain and handle reverse proxy?
我正在使用以下 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
?
谢谢。
$host
built in var 应该包含当前请求的主机。试试这个:
proxy_set_header X-Forwarded-Host $host;
我正在使用以下 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
?
谢谢。
$host
built in var 应该包含当前请求的主机。试试这个:
proxy_set_header X-Forwarded-Host $host;