http升级为https--SSL证书

Posted a565810497

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http升级为https--SSL证书相关的知识,希望对你有一定的参考价值。

前两天做一个小程序,因为要审核上线才发现微信规定的服务器请求接口是https的,于是乎就为服务器升级

1:购买SSL证书,可以直接到阿里云上买,因为我是阿里云服务器,所在是在阿里云上面买的免费版证书试试手

技术图片

2:下载证书配置服务器

买了证书签发完后,可以根据阿里云的开发文档指导配置

 参考网址: https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.2020520154.cas.9.1738U2tQU2tQb4

因为我的是nginx服务器,我就简单说一下Nginx服务器的配置

  1. 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;

  2. 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件

  3. server {
     listen 443;
     server_name localhost;
     ssl on;
     root html;
     index index.html index.htm;
     ssl_certificate   cert/a.pem;
     ssl_certificate_key  cert/a.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;
     }

    4:记得一定要重启nginx服务器。执行:# /usr/local/nginx/sbin/nginx -s reload  重启成功后你的网页就会变成https访问了。

 

3:但是会出现一个问题,就是用户直接属于域名的话,它还会是访问http,除非手动输入https,这个时候就要监听服务器的80端口,让它跳转到https,需要在nginx.conf 文件下加入以下代码:

server {

listen 80;
server_name localhost;

rewrite ^(.*)$ https://$host$1 permanent;

location / {

root html;

index index.html index.htm;

 }


}

不是加在443端口的server里面,而是有两个server。

这样再重启Nginx服务器,用户一输入域名就会访问到https了。

 

以上是关于http升级为https--SSL证书的主要内容,如果未能解决你的问题,请参考以下文章

中科三方:SSL证书常见知识

安装SSL证书对网站的重要性

如何使用 net/http 在 ruby​​ 中验证 SSL 证书链

nginx https ssl 设置受信任证书[原创]

哪些网站需要HTTPS(SSL证书)

哪些网站需要HTTPS(SSL证书)