给网站加上绿色小锁

今天给给全站弄上了绿色小锁,就是代表访问我的网站都是通过SSL/TLS安全连接的。信息安全已经被着重指出了,现在加密的性能问题已经不存在了。响应全面HTTPS化,在网络上学习一番给网站升级

其实最累的部分是将之前文章里的图片全部从新浪图床转移到自己服务器下(这其中还发现有的图片被新浪压缩了),当然也可以转移到其他支持SSL的图床,还是放到自己身上更放心。顺带看看自己几年来写过的文章,一股中二气息扑面而来···

我用的是Let’s Encrypt签发的证书,免费的 十分良心。按照介绍步骤一步步进行,推荐使用Certbot创建和管理证书。可是第一步安装就遇到了问题。

VPS的操作系统是CentOS 7,可是上面的包管理还有一些是使用CentOS 5源的,执行命令

1
$ sudo yum install certbot

在处理Python(abi) 2.4的包依赖时没有找到。

1
2
3
···
libxslt-devel-1.1.28-11.fc23.i686 has missing requires of libexslt.so.0
···

搜索一番 原因出在yum包依赖列表/etc/yum.repos.d/ 目录下的rpmforge.repo文件,里面都是一些CentOS 5的依赖包,链接都已经404了。Google找了一番,感謝有人在Github下提交的issue,这个issue现在还没有关闭 应该是想让更多人也看到。

修改rpmforge.repo文件中的mirrorlist为

1
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge

再根据这里运行

1
yum install libxml2 libxslt

解决第一阶段的问题···

接下来是创建SSL证书,主要还是要给网站的配置文件加上,参照这里,不然会出现403错误。

1
2
3
location ~ /.well-known {
allow all;
}

中间出现了一个小插曲,VPS的nginx版本是1.8.0,如果想要开启HTTP/2功能,需要升级到至少1.9.5。不过由于服务器上的nginx并不是由yum安装的,也就是不在常见的/etc/nginx/这里,而是在/usr/local/nginx,因为这是由官方源代码 经过make安装的。所以按照同样的方式,下载源代码,添加参数 编译安装。

1
2
3
4
5
6
wget https://nginx.org/download/nginx-1.10.2.tar.gz
tar -xzvf nginx-1.10.2.tar.gz

cd nginx-1.10.2
./configure –-with-http_ssl_module --with-http_v2_module
make && sudo make install

这里加入了两个参数,一个是启用ssl模组,另一个启用http2模组。如果是通过yum安装的,一般不用进行这一步,都给自动安装好了的。之前少添加参数了也没关系,再编译安装一遍就行。

接下来就是配置网站配置文件了,我使用了强制301跳转,确保所有流量都经过加密。

1
2
3
4
5
6
server {
listen 80;
#listen [::]:80;
server_name enihsyou.com www.enihsyou.com tsubasa.moe www.tsubasa.moe ryoka.moe www.ryoka.moe;
return 301 https://$server_name$request_uri;
}

最后可能需要设置一下防火墙,让443端口能够通过。就大功告成啦。

其实最累的部分是将之前文章里的图片全部从新浪图床转移到自己服务器下(这其中还发现有的图片被新浪压缩了),当然也可以转移到其他支持SSL的图床,还是放到自己身上更放心。顺带看看自己几年来写过的文章,一股中二气息扑面而来···

  • Post author: (Ku)()(Ryō)(ka)
  • Post link: https://enihsyou.com/2016/12/25/22/
  • Copyright Notice: All articles in this blog are licensed under BY unless stating additionally.