【问题标题】:Nginx proxy_pass with variables and redirectNginx proxy_pass 带变量和重定向
【发布时间】:2013-06-04 12:41:19
【问题描述】:

当 proxy_pass 设置为变量时,Nginx 似乎不支持重定向。有没有办法实现这个功能,例如以某种方式链接服务器或其他解决方法?不支持此功能的原因是什么?

.conf 是:

proxy_pass $var;
proxy_redirect  default;

我得到的错误信息是:

nginx:[emerg]“proxy_redirect default”不能与带有变量的“proxy_pass”指令一起使用

【问题讨论】:

    标签: nginx


    【解决方案1】:

    我曾经遇到过同样的问题,但救了我的是 Nginx 的解析器模块

    尝试添加:

        resolver 8.8.8.8;
    

    在 proxy_pass 行之前。它应该允许您使用变量。

    还有have a look at a similar question

    【讨论】:

    • 这是完全不同的问题,我当然配置了解析器。
    【解决方案2】:

    您可以通过指定完整的重定向语句而不是使用“默认”选项来解决此问题。

    来自nginx documentation

    默认参数指定的默认替换使用location和proxy_pass指令的参数。因此,以下两种配置是等价的:

    location /one/ {
        proxy_pass     http://upstream:port/two/;
        proxy_redirect default;
    location /one/ {
        proxy_pass     http://upstream:port/two/;
        proxy_redirect http://upstream:port/two/ /one/;
    

    所以要替换“default”指令,您使用“proxy_pass”的值作为“proxy_redirect”的第一个参数,并使用“location”的值作为第二个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      相关资源
      最近更新 更多