我想在我的nginx server_name
上使用一个regex,它的功能几乎就像一个通配符。
*-dev.mydomain.com -
然而,我一辈子都无法做到这一点。
我似乎让它在https://regexr.com/51teh工作-但我无法将其正确应用于我的nginx配置。
下面是我的登台配置(不工作,无法捕获对*-stating.mydomain.com
的请求):
server {
listen 443 ssl;
server_name "~.*-staging\.mydomain\.com";
location / {
proxy_pass http://localhost:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header x-forwarded-for $remote_addr;
}
}
尝试将另一个具有default_server
的虚拟服务器块添加到侦听指令中。如下所示:
server {
listen 443 ssl default_server;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name "~.*-staging\.mydomain\.com";
location / {
proxy_pass http://localhost:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header x-forwarded-for $remote_addr;
}
}
这应该行得通。