所以,我想proxy_pass
在我的服务器上的 .local 区域中由 Avahi 控制的动态流浪机器。我有一个 nginx 虚拟主机配置:
server {
listen 80;
server_name ~^(?<subdomain>.+)\.example\.com$;
location / {
resolver 127.0.0.1 valid=30s;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://$subdomain-example.local;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
}
Nginx 在 /var/log/nginx/error.log 中向我返回了一个错误:
2016/09/26 18:03:34 [error] 24401#24401:
*1 no resolver defined to resolve test-example.local,
client: 192.168.1.101,
server: ~^(?<subdomain>.+)\.example\.com$,
request: "GET / HTTP/1.1",
host: "test.example.com"
但是,如果我手动设置$subdomain
为“测试”,例如,它可以正常工作并传递给我真正想要的 test-example.local 机器。
如何让它真正充满活力?我应该在我的虚拟主机配置中更改什么?