前言
最近网站的多说系统出了点问题,就是必须要使用https才能请求成功,可能是多说系统升级了吧,于是乎,我就升级了一下自己的服务器,让网站支持了HTTPS,这样传输的信息就安全了,你们访问我的Blog就会更安全,虽然这里不需要登陆什么的,不会泄露你的个人信息。
申请证书
特别说明:现在沃通已经关闭了免费证书的申请,现在可以到腾讯云或者阿里云免费申请证书。我现在使用的是腾讯云的HTTPS证书。
网上很多资料,说证书需要自己去生成,但是生成的证书浏览器是不认可的,尽管可以调整自己的浏览器,添加证书信任,但是其他浏览你网页的人却会得到安全警告(如下图),说你的网站不安全,因此,你需要去第三方CA认证申请一个证书。

我所知道的可以申请免费证书的CA机构有两家,分别是沃通WoSign和StartSSL,沃通是国内的一家机构,而StartSSL是国外的,如果你的网站主要是面向国内用户,建议使用沃通的证书。不过这两家张书所有的主流浏览器都是认可的,也就不会出现上面的安全警告了。
我使用的是沃通的证书,免费两年,到期后可以继续免费续费,相当于永久免费。
申请界面如下:

具体申请过程很清楚,按步骤来就可以了。
注意:不要把证书弄丢了,弄丢了需要重新申请!
申请到证书后,会得到一个domain.zip的压缩包,解压后,根据你服务器的类型,选择合适的解压。
安装证书
我使用的nginx服务器,所以我解压了for Nginx.zip
将证书上传到服务器,并在nginx的安装目录下,新建一个sslkey的文件夹,并把解压出的两个文件domain.crt和domain.key放到sslkey文件夹中,nginx安装在默认位置(/etc/nginx/)
1 | sudo mkdir /etc/nginx/sslkey |
这样证书就按照好了。
安装openssl
在Ubuntu上,使用以下命令:
1 | sudo apt-get install openssl |
启动HTTPS服务
没有用过StartSSL的证书,可能在ssl的配置上,有些不同,具体情况请百度或谷歌。
找到Nginx的网站配置文件,一般在/etc/nginx/sites-available/xxx,修改这个文件。
1 | server { |
重启nginx服务,证书安装结束。
1 | sudo service nginx restart |
端口重定向
新建一个站点配置文件/etc/nginx/sites-available/xxx_80,用来重定向80端口
然后编辑文件:
1 | server { |
然后重启nginx服务,就可以了。
其端口重定向使用的是HTTP 301永久重定向实现的。
后记
到此为止,HTTPS服务器就正式搭建好了,你可以使用HTTPS(https://yourdomain.com)访问你的网站了。
但是有点问题就是,还是可以通过80端口访问非HTTPS版的网站,解决办法是通过端口重定向,将80号指向443端口。
现在就可以享受HTTPS的安全服务啦。