栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

nginx重定向解决域名变更问题

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx重定向解决域名变更问题

前后分离项目中的跨域方案,最常见的便是cors方案 ,mdn关于cors的描述:

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

场景:用户可以通过输入 www.xinzejy.cn 或者 xinzejy.cn访问网站,但之前的cors设置是这样的

Access-Control-Allow-Origin:"http://xinzejy.cn"
Access-Control-Allow-Credentials: true

所以用户通过www.xinzejy.cn访问,就出现跨域问题,因为域名不同。坑的地方在于浏览器控制台会显示当前域名为xinzejy.cn ,没有经验的话就觉得不是跨域问题了,于是添加了新的代码

Access-Control-Allow-Origin:"http://xinzejy.cn"
Access-Control-Allow-Origin:"http://www.xinzejy.cn"
Access-Control-Allow-Credentials: true

还是不行,排查后发现是因为做了第三方登录,github的回调地址还是http:xinzejy.cn/github_callback
难道要改github地址吗?如果域名还需要变更,还要改服务器代码?,于是查找nginx重定向的问题,解决方案是将www.xinzejy.cn 永久重定向到 xinzejy.cn 如下(同时恢复cors设置):

server {
 listen80;
 # 301 
 server_name xinzejy.cn www.xinzejy.cn; 
 if ($host ~* www.xinzejy.cn) { 
     rewrite ^/(.*)$ http://xinzejy.cn/$1 permanent; 
 }
 # vue history mode
 location / {
     root   www;
     index  index.html;
     try_files $uri $uri/ /index.html;
 }
}

问题暂时解决。

收获总结:

  1. permanent:美 /ˈpɜːrmənənt/ adj. 永久的,永恒的;不变的
  2. temporarily:美 /ˌtempəˈrerəli/ adv. 临时地,临时
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号