如果我想在 Nginx 中重定向 *.plex.example.com -> plex.example.com,我可以这样做
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name *.plex.example.com;
return 301 https://plex.example.com$request_uri;
}
我该如何更普遍地做到这一点?是否有一个代码片段可以重定向上述示例并说 *.plex.test.net -> plex.test.net。更一般地说,重定向 *.plex.domain.tld -> plex.domain.tld。
不确定这是否可行,但如果你能弄清楚如何重定向 *.subdomain.domain.tld -> subdomain.domain.tld,则可以获得加分。
答案1
除非您拥有有效的域名通配符证书/密钥,否则您提供的配置将无法正常工作,否则浏览器会发出安全投诉*.plex.example.com
。您可以尝试在命名正则表达式匹配中捕获主域名:
server {
listen 443 ssl http2;
ssl_certificate </path/to/certificate>;
ssl_certificate_key </path/to/key>;
server_name ~.*\.plex\.(?<domain>[^\.]+\.[^\.]+)$;
return 301 https://plex.$domain$request_uri;
}
但同样,您需要为所有可能的域名提供有效的证书。