【发布时间】:2022-01-20 23:20:40
【问题描述】:
我已经设置了一个服务器,用于将通配符域映射到所需的 url,如下所示。
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name *.example.com;
# SSL
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
return 301 https://example.com$request_uri;
}
上面的代码工作正常,但子域网址正在更改为 example.com。例如,
**s1.example.com** is changing to **example.com**
**s2.example.com** is changing to **example.com**
***.example.com** is changing to **example.com**
我的要求是,*.example.com 应该被重定向到 example.com 但 url 应该保持与 *.example.com 相同强>.喜欢,
**s1.example.com** url should be **s1.example.com**
**s2.example.com** url should be **s2.example.com**
***.example.com** url should be ***.example.com**
但页面应该从 example.com
加载请有人给出解决方案。
谢谢
【问题讨论】:
-
return会改变浏览器的地址栏,这就是它的作用。example.com是托管在外部还是在同一台机器上? -
example.com 托管在同一台机器上。
-
而不是添加一个新的
server块。您可以将*.example.com添加到server_name的example.com。 -
在example.com的服务器名旁边加上*.example.com后,地址栏的URL还是变成了 example.com.
标签: nginx reverse-proxy nginx-reverse-proxy nginx-config