免费SSL证书实现https请求

网络 专栏收录该内容
4 篇文章 0 订阅

一款更好用的证书管理工具,解放双手,推荐使用
OHTTPS,一款免费且好用的SSL证书管理工具

前言

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

证书申请

申请入口如下图:
注意:由于是腾讯云的产品,官网页面也随时都在升级调整,以下是我写教程时的入口;你进去的时候可能看到的不是下面的样子,自己翻一翻,找一找就可以了,对于鹅厂来说,这种免费的东西,几乎是放在一个不起眼的角落,自己留意一下…

资料完善

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

域名申请

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

  • 第一步

  • 第二步
    填写域名信息及申请人邮箱等资料

  • 第三步

  • 第四步
    将得到一下记录值信息

域名证书申请验证(二选一)

手动DNS配置方式(推荐)

  • 找到前一步中生成的记录值,添加的域名解析中,如下图中的文本信息:
  • 添加到如下图中的域名解析中:
  • 添加完成之后刷新,如果出现下图内容,说明域名解析配置成功:
  • 点击下载按钮,下载证书文件


    其中包含了4种容器的配置证书;

本地文件验证(麻烦,不建议,用上面推荐的方式即可)

注意!!!! 如果已经按上面的手动DNS配置好了,请忽略这个步骤
如果你选择的本地文件验证,可以按这个步骤操作

  • 找到如下图的记录值:

  • 本地创建以下文件目录、文件名及文件内容:

    文件目录文件名文件内容
    /.well-known/pki-validationfileauth.txt201708*****(根据自己实际的只填写)

    注: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:/本地文件地址/;
    		}
    

    如前端请求:https://www.test.com/.well-known/pki-validation/fileauth.txt之后,nginx会指向本地E:/本地文件地址/.well-known/pki-validation/fileauth.txt文件

证书配置

所有容器的证书的配置,可参考腾讯云官网配置说明,本文以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;
    			
    			location / {
       				 root   /usr/share/nginx/html;
       				 index  index.html index.htm;
    			}
    
    	 }
    
  • 在ng的http的节点配置DNS服务器的路径

    resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s;
    


    如果没有配置的话,NG无法对域名映射的IP进行解析!

    重启nginx

测试

https测试

浏览器输入:https://www.你的域名.com 能看见NG的主页说明已经正常了

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.你的域名.com 将会被转发到: https://www.你的域名.com

总结

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

  • 7
    点赞
  • 9
    评论
  • 29
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页

打赏

码霸霸

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值