需求:一个前端(wx)需要https服务才能上传和下载文件,需要申请一个正规的ssl证书。ssl证书绑定的域名,必须是ICP备案过的域名。
步骤:
1 注册一个域名,进行ICP备案,或者找到一个已经备案的域名
注册域名和备案是一个漫长的过程,可以参考其他文章。
为了节省时间,我翻出了一个已经ICP备案过的域名,表示为d.com
2 申请免费证书
需要填写具体的主机名,如www.d.com。由于是免费的证书,不能做泛解析的域名,可以申请20个。
这个域名在哪家注册的都可以,但是需要有dns解析的管理权,因为验证域名的操作是需要在dns服务器上添加一条CNAME记录。
分别将主机记录,记录类型CNAME,记录值添加到d.com的域名注册商的DNS库中。我使用的35互联注册的域名,dns解析大概这样
将CNAME加入到dns解析中,就可以回到腾讯云界面,点击【验证域名】
提示:
域名验证成功,您申请信息将在一个工作日内完成审核,审核结果将以短信、邮件及站内信的方式通知您。
就可以等待ssl证书签发后,下载证书并导入到https服务程序中了
今天是周日,大概两个半小时,我再次刷新我的证书列表,证书状态已经变成了“已签发”
3 ssl证书导入
ssl证书签发后,提供证书下载。
腾讯的证书下载提供了多种证书格式,我们选择Nginx下载。
解压后,会有4个文件
我的https的服务程序是python的HTTPServer,所以导入比较简单
httpd = HTTPServer(('0.0.0.0', 443), requesthandler)
httpd.socket = ssl.wrap_socket(httpd.socket, keyfile='www.d.com.key', certfile='www.d.com_bundle.pem', server_side=True)
httpd.serve_forever()
这样就可以访问https了
如果ssl不正确,可能会出现Not Secure的警告