当nginx proxy_pass是一个动态值,期望通过替换URL中的hostname部分来构建时,nginx无法代理请求并出现错误:没有定义解析器解析服务其中服务 = $ 1 的。它没有尝试解析service.abcd.local,而是试图解决服务。有解决方案吗?
location ~ ^/(.*)/(.*)$ {
proxy_pass http://$1.abcd.local/$1/$2;
}
答案 0 :(得分:3)
如nginx的文档proxy_pass
中所述:
也可以使用变量指定服务器名称,端口和传递的URI:
email_service.class: class: TestBundle\UserBundle\Utilities\EmailServiceClass arguments: ['@mailer']
[...]
在这种情况下,将在描述的服务器组中搜索服务器名称,如果未找到,则使用解析程序确定。