因此,我想在由Avahi控制的.local区域对我的服务器上的迷航机进行动态.local。我有一个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设置为“测试”,例如,它是工作,并通过测试-示例本地机器,这是我真正想要的。
如何使它真正充满活力?我应该在vhost配置中更改什么?
发布于 2022-01-08 21:01:34
当NGINX启动或重新加载其配置时,它会查询DNS服务器来解析域名。NGINX从OS配置文件/etc/rupv.conf中选择DNS服务器。当使用变量在proxy_pass指令中指定域名时,NGINX不引用/etc/drv.conf。
您可以使用proxy_pass指令中的IP地址代替域名。
有关更多细节,请阅读https://www.nginx.com/blog/dns-service-discovery-nginx-plus。
https://stackoverflow.com/questions/39706569
复制相似问题