HTTPS改造原因:最近做微信支付宝小程序的时候,小程序访问服务器的地址要求是https的,为了小程序,同时也为了增强服务器域名访问的安全性,开始进行https改造,添加ssl证书实际上就是多监听一个443的端口.
改造的主要分为三个步骤:申请/购买证书,安装证书,配置转发
免费证书的申请有很多种方式,我这里使用的阿里云的,因为主要测试使用.登录阿里云控制台,搜索SSL
’点击搜索或者下拉框中的第一个SSL证书
选项进入到证书页面.
点击购买
勾选下协议,支付下就可以了,购买证书在我们证书控制台就会有一个证书列表出现,
由于之前我们购买证书的时候是没有绑定域名的,所以要把证书和我们的域名进行绑定下.点击证书列表中的证书申请回出现绑定域名界面
我这边的域名是是其他服务商解析的,不在阿里云上解析,所以我这边需要在域名解析中添加添加域名解析,在证书控制台订单列表中选择您已提交审核申请的证书订单,单击进度
,即可查看域名授权配置相关信息,如需要配置的DNS的主机记录、记录值和记录类型,如下界面:
需要在DNS解析中添加一条记录,按照上边红色框线中的内容添加即可,如下,主机记录,记录类型(txt),记录值,都要和上边的途中保持一致,一个字符都不能错.
添加完保存后,DNS解析生效需要一段时间,每个DNS服务商需要的时间都不一样.我这边大概是10分钟.
证书记录值解析通过后,阿里云开始进入到证书审核流程,这个时间现在大概是一个工作日左右,不过也有快的时候,最近我这边申请的免费证书一个小时就通过审核了.,所以还是经常看下为好.
证书审核通过后,证书订单列表会显示出下载选项.状态是已签发.如下:
根据需要将证书下载下来安装到服务器即可.
下载完成后,放置到服务器对应目录,如果是nginx,需要配置下nginx.具体配置可以点击上图中的帮助
查看详细信息
核心配置主要是如下内容:
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name XXXXX; #将XXXXXX修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
......
}
}