之前一个二级域名ss.toodyao.com一直无法访问,以为是被捯饬坏了,后来试遍无数方法,nginx.conf都快背下来了,之后发现是域名被墙了x
因为本站可以上,而且还在同一个服务器下,所以完全没想到会是域名被墙。
被墙大概分这么几个级别:
不同情况不一样,程度依次加重
1 、仅仅是 ip 被墙→换 ip
2 、域名被 url 重置→上 https
3 、域名被国家出口 dns 污染→用国内 dns ,备案回国
4 、域名被省级 dns 污染→能到这程度不是一般人,收拾收拾投案自首吧
来源:V2EX
IP被墙经常遇到,这样看来ss.toodyao.com的情况应该是第二种,而且上https是早晚的事儿,之前嫌麻烦一直没用https,看到lnmp 1.4支持安装SSL证书后,决定上https。(添加https之后真的没被墙了)
以上是扯闲篇
下面是正文
0. 准备
- 你的服务器
- 相关知识
1. 安装/升级lnmp 1.4
为了方便用了lnmp自带的SSL安装功能
安装lnmp 1.4:
1 |
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp |
详细安装过程请参考:https://lnmp.org/install.html
如果你以前安装了lnmp 1.x版本,需升级到lnmp 1.4:
1 |
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./upgrade1.x-1.4.sh |
2. 添加SSL
使用 lnmp ssl add 来为你的站点添加SSL
输入相关信息如你的域名,根目录,URL重写的支持,日志等,之后选择2,使用Let’s Encrypt的SSL证书,接下来输入你的邮箱,等待相关安装完毕,重启nginx
3. 301重定向
需要将http访问重定向至https
找到你的nginx配置文件,如lnmp中为 /usr/local/nginx/conf/ ,各个虚拟主机的配置文件在 vhost 目录下,找到你域名的配置文件,或使用 nginx -t 校验命令查看配置文件的地址
在你的nginx配置文件中添加:
1 2 3 |
if ( $scheme = http ){ return 301 https://$server_name$request_uri; } |
nginx -s reload 重载配置使其生效
4. 对WordPress的配置
如果是普通的网站,这是已经可以看到右上角绿色的小锁了,
对于WordPress站点来说,还要为图片、CSS、JS等元素添加SSL支持,才算是支持全站https
进入WordPress仪表盘->设置->常规,将WordPress地址和站点地址都加上 https://
保存后刷新主页,如果还没有小绿锁的话,可以打开网页源代码, Ctrl+F 查找 http ,仔细排查,比如导航栏上的自定义URL,未更新的站内图片,或者非https的外链图片等,并逐个修改。
5. 验证
有小绿锁啦~O(∩_∩)O~~