Nginx 中 proxy_pass uri 中主机名的正则表达式

jpi*_*etz 5 nginx

我想做类似的事情:

server_name   ~^(www\.)?(?<subdomain>[^.]+).example.org$;

location / {
    proxy_pass      "http://example.org:8080/$subdomain";
}
Run Code Online (Sandbox Code Playgroud)

Sha*_*den 7

未经测试,但试一试:

server_name   ~^(www\.)?[^.]+.example.org$;

if ($host ~* ^(www\.)?([^.]+).example.org$) {
    set $subdomain $2;
}

location / {
    proxy_pass http://example.org:8080/$subdomain;
}
Run Code Online (Sandbox Code Playgroud)