首页 > 解决方案 > 如何将通配符传递给 nginx 代理主机头?

问题描述

我定义了以下 nginx 服务器(删除了许多不相关的部分):

server {
    listen 80;
    server_name mydomain.com *.mydomain.com;

    location ~ {
        proxy_pass http://localhost:3002;
        proxy_set_header Host localhost;
    }
}

当你去的时候它工作正常mydomain.com。主机头localhost按照我的预期设置。

我现在想要的是当你去test.mydomain.com拥有主机头test.localhost或者当你去random.mydomain.com拥有主机头时random.localhost

基本上采用该通配符*并将其放在主机标头的开头。或者如果它使用 . 则默认为localhost(不带任何前缀)mydomain.com

我怎样才能做到这一点?

标签: nginx

解决方案


推荐阅读