http转换成https
首先申明下,我的服务器和域名都是从阿里云上购买的,所以也给自己带来了很多便利,比如我可以在阿里云上申请免费的CA证书,不会出现一些其他没遇见的问题。
一、申请阿里云免费CA证书
1、进入到阿里云的控制台界面
2、在“产品与服务”中搜索CA,然后点击“SSL 证书(应用安全)”
3、进入后点击“购买证书”
4、在下面的界面选择红框中的选项
a、首先选择Symantec
b、然后证书类型会有一个“免费型DV SSL”
c、保护类型为“1个域名”
d、购买数量就选择一个了
e、证书的有效期为一年
f、如果你有多个域名,就分多次购买即可
g、立即购买,直接下单即可,支付金额为0元,支付完后就可以进入“证书控制台”
h、控制台中会出现你购买的证书记录,后面就需要去补全信息
上面就填写你证书绑定的域名,这里只能填写一个。然后下一步
i、填写个人信息
该填写的就填写好吧,但是这里需要注意一点,域名验证类型这里是DNS,下面还有个复选框,因为我的是阿里云购买的域名所以把这个勾选好,系统会自动将解析记录添加到域名解析中去,而不需要手动去填写,如果没有勾选,后期还需要去域名解析中去添加相关的记录。上面所有填写好后就保存即可,就等待审核。审核时间不定,可能很快。
j、审核后的信息
k、下载对应web服务器的证书
二、配置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的操作过程,其实整体流程还是比较简单。