欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何添加SSL证书实现https请求

程序员文章站 2022-04-30 23:41:25
...

前言

近期业务需要,进行小程序的开发,但是在小程序里面请求必须要https才能正常请求数据,为了方便测试,在腾讯云SSL证书上申请了一个个人版的SSL证书进行测试;并在此记录整个配置的过程。

证书申请

申请入口如下图:
如何添加SSL证书实现https请求

资料完善

进入以上入口需要完善个人资料并进行实名认证;如实填写资料,next–>next–>finish即可

域名申请

按如下步骤一步步填写完成

  • 第一步
    如何添加SSL证书实现https请求

  • 第二步
    填写域名信息及申请人邮箱等资料
    如何添加SSL证书实现https请求

  • 第三步
    如何添加SSL证书实现https请求
    如何添加SSL证书实现https请求

  • 第四步
    将得到一下记录值信息
    如何添加SSL证书实现https请求

证书配置

添加域名解析

  • 找到前一步中生成的记录值,添加的域名解析中,如下图中的文本信息:
    如何添加SSL证书实现https请求
  • 添加到如下图中的域名解析中:
    如何添加SSL证书实现https请求
  • 添加完成之后刷新,如果出现下图内容,说明域名解析配置成功:
    如何添加SSL证书实现https请求
  • 点击下载按钮,下载证书文件
    如何添加SSL证书实现https请求
    如何添加SSL证书实现https请求
    其中包含了4种容器的配置证书;

本地证书配置

所有容器的证书的配置,可参考腾讯云官网配置说明,本文以Nginx做配置演示说明:

  • 解压下载的证书,找到nginx证书文件夹,可看见以下文件:
    如何添加SSL证书实现https请求

  • 将2个文件拷贝纸nginx下的conf文件夹,如下图:
    如何添加SSL证书实现https请求

  • 修改ngnix的nginx.conf配置文件

        server 
        {
                listen  443 ssl;
                server_name www.test.com; #填写绑定证书的域名
                ssl on;
                ssl_certificate 1_www.test.com_bundle.crt;
                ssl_certificate_key 2_www.test.com.key;
                ssl_session_timeout 5m;
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
                ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
                ssl_prefer_server_ciphers on;
         }

本地文件验证

测试

https测试

浏览器输入:https://www.test.com/.well-known/pki-validation/fileauth.txt可得到一下以下效果:
如何添加SSL证书实现https请求

nginx如何将http请求转成https

开发过程中,可能是中途才使用到https,之前一直是使用的http,如果按以上配置,配置了https之后,再发起http请求将无法正常的请求到;为了兼容到之前的http服务,我们可在nginx下添加一个http的服务,然后将请求转发到https即可,配置如下:

server
{
listen 80;
server_name www.test.com;
rewrite ^/(.*) https://$server_name/$1 permanent; #跳转到Https
}

重启nginx并测试:
浏览器输入:http://www.test.com/.well-known/pki-validation/fileauth.txt将会被转发到:https://www.test.com/.well-known/pki-validation/fileauth.txt

总结

到这里ssl的证书配置即完成。