刚开发完一个微商城小程序,上线时提示要用https?
ssl(https)证书是什么?
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
为什么要使用ssl证书?
现在都提倡全站HTTPS,一方面是为了网站安全,另一方面会让用户感觉更安全,有利于提升用户体验。
如何给网站安装SSL证书(https)?
申请证书种类
目前在 SSL证书购买时,有三种不同的资料验证方式,从而产生了三类SSL证书:域名型SSL证书(DV SSL)、企业型 SSL 证书(OV SSL)、增强型 SSL 证书(EV SSL) 。
关于这三种证书,想了解更多的,可以自行去百度。
在这里主要是介绍的是域名型ssl证书的安装。
关于域名型ssl证书很多大厂都提供了相关服务,比如腾讯、阿里等。
申请
申请的前提是你得有域名,而且还是备案通过了的域名。这里以腾讯为例,当然也可以去阿里,这个不是很重要,因为给你颁发证书的是第三方组织。
这里的域名证书分为三种类型:泛域名、多域名和单域名,普通用户或小型企业单域名用的多,因为只有单域名有免费版,有效期一年。泛域名和多域名的话价格就非常贵了,记住是非常贵。
这里可选亚信、赛门铁克等都行,都有免费版的。
填写申请域名和邮箱,下一步
选择手动认证–确认
点击“查看证书详情”接下来就到你的云服务器控制台把这一条解析记录添加进去即可。
解析记录添加完成,大概几分钟过后审核就能通过,下载证书。
腾旭证书文件加会有Apache、Tomcat、nginx、IIS四种服务器类型的证书,证书安装方法可以参考官方文档:https://cloud.tencent.com/document/product/400/4143
以nginx为例,现将证书存到/usr/local/nginx/conf路径下的photo_cert文件夹下,然后修改nginx的配置文件nginx.conf,指定证书位置
若服务器没有开放 443 端口,需要在控制台将 443 端口开放。
每次修改完nginx的配置文件,需将其重启方能生效
至此,证书的安装已经完成。但是当你在浏览器输入域名的时候,默认打开的还是HTTP,这是因为nginx默认监听80端口,ssl证书监听的是443端口,这时你可以让服务器自动把 HTTP 的请求重定向到 HTTPS。
在服务器这边的话配置的话,可以在页面里加 js 脚本,也可以在后端程序里写重定向,当然也可以在 web 服务器来实现跳转。Nginx 是支持 rewrite 的,所以只需要简单的修改nginx的配置文件即可,在 HTTP 的 server 里增加代码:
重启nginx,证书安装完成。
友情提示:证书安装成功之后,当你在网站中引入非HTTPS的链接的时候,浏览器也会提示该网站有部分内容不安全,当然这丝毫不会影响使用,但是对于有强迫症的人来说或许有些难受,在这里你可能会用到oss对象存储,个人推荐七牛云或者阿里云。