✨ 踩 坑 不 易 , 还 希 望 各 位 大 佬 支 持 一 下 \textcolor{gray}{踩坑不易,还希望各位大佬支持一下} 踩坑不易,还希望各位大佬支持一下
📃 个 人 主 页 : \textcolor{green}{个人主页:} 个人主页: 沉默小管
📃 个 人 网 站 : \textcolor{green}{个人网站:} 个人网站: 沉默小管
🔥 技 术 交 流 Q Q 群 : 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545
👍 点 赞 , 你 的 认 可 是 我 创 作 的 动 力 ! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!
⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 ! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!
✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 ! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!
如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教
问题描述
网站开启cdn(内容分发网络),输入php-china.com在浏览器中,无法重定向为www.php-china.com
问题原因
问题一:没有开启主域名的cdn,导致nginx找不到主域名的ip地址一直重定向
问题二:站源信息配置配置成http,所以跳转https会无限重定向
解决流程
1.开启cdn
设置腾讯云cdn(内容分布网络),开启主域名和www域名的cdn,源站设置自己的ip地址,回源设置自己的域名(如:xxx.php-china.com)
主域名设置:
www域名设置:
2.CNAME设置
把CNAME值解析到对应的主域名上
解析结果:
3.服务器nginx设置强制添加www
server {
listen 80;
autoindex on;
server_name www.php-china.com php-china.com;#你的域名
#访问php-china.com强制添加www
if ( $host ~ '^php-china.com' ) {
rewrite 301 https://www.php-china.com$1 permanent;
}
#访问www.php-china.com强制添加https
if ( $host != 'www.php-china.com' ) {
rewrite ^(.*)$ https://www.php-china.com$1 permanent;
}
}
特别注意:如果开启https,像强制跳转为https,源站信息的主源站的回源协议需要设置为https,否则找不到回源地址。如果ip设置443端口以后,CDN回源时会以HTTPS协议请求源站,就不会触发源站的强制跳转逻辑
cdn详细文档:https://cloud.tencent.com/document/product/228/41334