顶级域名和二级域名之间的跳转问题
一个顶级域名下面可以配置多个二级域名,而通常我们直接访问顶级域名https://haohaowang.top的时候,默认应该让用户跳转到https://www.haohaowang.top。
一开始,在配置nginx的时候,通常直接写成下面那样的:
server{
listen 80;
server_name haohaowang.top www.haohaowang.top;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
}
}
但是这样会有一个跨域问题,导致用户登陆主网站后,还要再子网站进行登陆,通常这个问题单点登陆就能解决,但是我们有没有其他的解决方案的,答案当然是有的,就是当用户访问主站的时候,我们通过nginx直接重定向到www域名接口,这样就解决了,nginx这样配置即可
server{
listen 80;
server_name haohaowang.top www.haohaowang.top;
if ($host = 'haohaowang.top'){
rewrite ^/(.*)$ https://www.haohaowang.top/$1 permanent;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
}
}
正文到此结束(点击广告是对作者最大的支持)