Servername正则表达式Nginx与proxy_pass无法正常工作

时间:2015-09-16 06:32:09

标签: regex apache nginx proxy

我希望我的服务器能够收听来自mon1.example.com/mon2.example.com/mon3.example.com / ...的所有请求,并将其代理到内部IP。

我在Nginx中做了这个简单的配置

upstream supervisor {
        server 127.0.0.1:9001 fail_timeout=0;
}

server {
    listen 80;
    server_name ~^mon(\d+)\.example\.com$;

    location / {
        proxy_pass http://127.0.0.1:9001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

然而,这似乎不起作用。我在某处读过你不能将正则表达式severname与Nginx中的代理传递相结合,这是正确的吗?有哪些替代方案?

1 个答案:

答案 0 :(得分:-1)

根据nginx doco;

  

可以使用确切名称,通配符名称或常规名称来定义它们   表达式:

function jqueryAutoCompleteHandler(){
// other stuff
  var angularElement=angular.element(element);
  var scope = angularElement.scope();
  var parser = angularElement.injector().get('$parse');
  var getter = parser(angularElement.attr('ng-model'));
  var setter = getter.assign;
  setter(scope, value) 
  scope.$apply();
}

<强>更新 指定用逗号分隔的多个主机名也可以。