免费SSL证书实现https请求

2019-06-04 20:44:31 点击:

前言
近期业务需要,进行小程序的开发,但是在小程序里面请求必须要https才能正常请求数据,为了方便测试,在腾讯云SSL证书上申请了一个个人版的SSL证书进行测试;并在此记录整个配置的过程。
 
证书申请
申请入口如下图:
注意:由于是腾讯云的产品,官网页面也随时都在升级调整,以下是我写教程时的入口;你进去的时候可能看到的不是下面的样子,自己翻一翻,找一找就可以了,对于鹅厂来说,这种免费的东西,几乎是放在一个不起眼的角落,自己留意一下…
 
 
资料完善
进入以上入口需要完善个人资料并进行实名认证;如实填写资料,next–>next–>finish即可
 
域名申请
按如下步骤一步步填写完成
 
第一步
 
 
第二步
填写域名信息及申请人邮箱等资料
 
 
第三步
 
 
 
第四步
将得到一下记录值信息
 
 
证书配置
添加域名解析
找到前一步中生成的记录值,添加的域名解析中,如下图中的文本信息:
 
添加到如下图中的域名解析中:
 
添加完成之后刷新,如果出现下图内容,说明域名解析配置成功:
 
点击下载按钮,下载证书文件
 
 
其中包含了4种容器的配置证书;
本地证书配置
所有容器的证书的配置,可参考腾讯云官网配置说明,本文以Nginx做配置演示说明:
 
解压下载的证书,找到nginx证书文件夹,可看见以下文件:
 
 
将2个文件拷贝纸nginx下的conf文件夹,如下图:
 
 
修改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;
}
1
2
3
4
5
6
7
8
9
10
11
12
本地文件验证
找到如下图的记录值:
 
 
本地创建以下文件目录、文件名及文件内容:
 
文件目录 文件名 文件内容
/.well-known/pki-validation fileauth.txt 201708*****(根据自己实际的只填写)
注:window下创建.well-known文件夹时,会提示“请输入文件名”的错误信息,无法创建,可以按如下方式创建,进入cmd下,进入要穿件文件夹的盘,输入mkdir .well-known即可创建,如下图:
 
 
如果申请文件验证的域名是 www.test.com,那么进行验证访问的链接地址是 http://www.test.com/.well-known/pki-validation/fileauth.txt 或者 https://www.test.com/.well-known/pki-validation/fileauth.txt
 
如果申请文件验证的域名是泛域名 *.test.com,那么进行验证访问的链接地址是 http://test.com/.well-known/pki-validation/fileauth.txt 或者 https://test.com/.well-known/pki-validation/fileauth.txt
 
成功之后,文件结构如下:
 
 
nginx配置文件请求映射
 
location /.well-known/pki-validation/
{
root E:/本地文件地址/;
}
1
2
3
4
如前端请求:https://www.test.com/.well-known/pki-validation/fileauth.txt之后,nginx会指向本地E:/本地文件地址/.well-known/pki-validation/fileauth.txt文件
重启nginx
 
测试
https测试
浏览器输入:https://www.test.com/.well-known/pki-validation/fileauth.txt可得到一下以下效果:
 
 
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
}
1
2
3
4
5
6
重启nginx并测试:
浏览器输入:http://www.test.com/.well-known/pki-validation/fileauth.txt将会被转发到:https://www.test.com/.well-known/pki-validation/fileauth.txt
 
总结
到这里ssl的证书配置即完成。
--------------------- 
作者:lupengfei1009 
来源:CSDN 
原文:https://blog.csdn.net/lupengfei1009/article/details/76828190/  
您有什么需求,马上联系我?
点击聊天

contact us

延吉市创想软件开发有限公司

0433-2417899 13019230608