我们在使用 lnmp 给网站添加域名之后,多数都要再加一个 301 重定向,比如把主域名跳转到 www 域名上,还有把主域名和 www 域名都跳转到 https 上面去。前面写过一些有关 301 重定向的教程,没做过的朋友可以参考下面教程去做。
下面把我实际使用中遇到的一些情况。比如下面这个案例中就出现的问题是如何解决的。
一个网站搬家到新 VPS,如果是手动分别备份网站数据和数据库文件的,要注意先把这两样东西上传和域名解析到新 IP(需要用国外 IP 网站验证是否已经解析过去了)之后再用 lnmp 添加虚拟主机和 Let’s Encrypt 免费证书。如果域名还没有解析到新 IP 就冒然添加虚拟主机会导致 SSL 证书添加失败,给后面的搬家工作添加麻烦。
用 lnmp1.4 建立 php 环境后添加 www 域名的虚拟主机和 Let’s Encrypt 免费证书,不用添加主域名的虚拟主机。我们的目的是主域名和 www 域名都跳转到 https://www 域名上去。
这时候为了实现主域名和 www 域名的 301 重定向到 https 域名,就要手动添加一些代码了,不过新手别害怕,不是很难,下面跟着来看看。
打开 Xshell 输入以下代码
vi /usr/local/nginx/conf/vhost/你的域名.conf
这时候你会看到下图红色文字的地方,注意你打开的时候下图中只有 www 域名,主域名是老魏后来手动添加上去的。
敲击 a,进入编辑状态,用上下左右键配合把主域名添加上去,记得和 www 域名之间有空格。
添加完毕之后就是下图的样子。
添加完成后保存,执行:/etc/init.d/nginx restart 重启 nginx,使其生效。
打开浏览器测试一下所有域名都跳转到 https 的 www 域名上,调试成功。
如果这里不把主域名也添加进去,当访客输入主域名访问的时候,就会弹出 lnmp 一键安装包的提示页面,这样会暴露我们网站的 php 环境,对安全构成威胁。
这篇文章写的比较乱,主要是平时遇到一些朋友的问题以及我个人使用中遇到的,记录下来一是自己以后遇到类似问题可以快速搜索答案,再一个能帮助有相同需要的网友。