http转换成https

xiaohai 2018-09-25 19:18:44 2361人围观 标签: Nginx  https 
简介一直以来网站都是使用的http,但是在如今的网络环境下,都提倡使用https,为了自己网站的安全,所以我在这几天将自己的所有的站点从http转换为https。本文就是记录本次操作的一个流程。

首先申明下,我的服务器和域名都是从阿里云上购买的,所以也给自己带来了很多便利,比如我可以在阿里云上申请免费的CA证书,不会出现一些其他没遇见的问题。

一、申请阿里云免费CA证书

1、进入到阿里云的控制台界面
2、在“产品与服务”中搜索CA,然后点击“SSL 证书(应用安全)”
3、进入后点击“购买证书”
4、在下面的界面选择红框中的选项

ZSB9I`4NX2HYU~2ENUWFC.jpg

a、首先选择Symantec
b、然后证书类型会有一个“免费型DV SSL”
c、保护类型为“1个域名”
d、购买数量就选择一个了
e、证书的有效期为一年
f、如果你有多个域名,就分多次购买即可
g、立即购买,直接下单即可,支付金额为0元,支付完后就可以进入“证书控制台”

6OZGK`Y5ZE.jpg

h、控制台中会出现你购买的证书记录,后面就需要去补全信息

9G`Z4FMAJS8MLIC4_S2.jpg

上面就填写你证书绑定的域名,这里只能填写一个。然后下一步

i、填写个人信息

RH9DK0_AFBOKMG3KAJ.jpg

该填写的就填写好吧,但是这里需要注意一点,域名验证类型这里是DNS,下面还有个复选框,因为我的是阿里云购买的域名所以把这个勾选好,系统会自动将解析记录添加到域名解析中去,而不需要手动去填写,如果没有勾选,后期还需要去域名解析中去添加相关的记录。上面所有填写好后就保存即可,就等待审核。审核时间不定,可能很快。

j、审核后的信息

GR7UGOHTQ~N6J6OKTP9NU.jpg

k、下载对应web服务器的证书

2X2`1Y80OP9K3TPN3T.jpg

二、配置nginx的https

1、首先下载申请的https证书,多个域名也有多个证书,然后对下载的证书进行更名,如www.pem、www.key、api.pem、api.key等,根据域名来命名证书名;

2、在nginx目录下创建cert目录,将上面的证书全部上传上去;

3、如果你网站只有一个域名,可以直接根据阿里云提示的去修改nginx.conf,我这里使用的是多个域名,所以需要对应的进行配置,配置方式也很简单,多个域名的配置分别指定不同的文件,文件的名字以域名来进行命令。如

[root@izwz9gipf37wcbyspk8o6bz conf]# ll total 20 -rw-r--r-- 1 root root 1978 Sep 25 19:00 www.xxxx.com.conf -rw-r--r-- 1 root root 2326 Sep 25 18:37 blog.xxxx.com.conf

4、然后分别编辑对应的文件添加https的配置信息即可

#下面是我的www.xxxx.com.conf中的配置信息,其他域名也是类似这样添加即可 server { listen 443; server_name www.xxxx.com; #域名 ssl on; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } index index.html index.htm; ssl_certificate /apps/nginx-1.12.2/cert/www.pem; #对应的证书位置 ssl_certificate_key /apps/nginx-1.12.2/cert/www.key; #对应的私钥位置 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root /html; #网站的根目录 index index.html index.htm; } }

5、配置好后重启nginx服务器

6、然后通过https去访问你的网址,没有什么问题就算配置完成,然后google浏览器地址栏https前面会有一个锁的标志,说明我们的的网站是安全的。

以上是我对自己网站从http升级到https的操作过程,其实整体流程还是比较简单。