九分地,虽不多,但足矣
www.9fendi.com

申请阿里云免费SSL证书,让http转为https详细操作

昨天抽了点时间在阿里云上申请了免费的SSL证书,折腾好了Https,终于告别显示叹号不安全时代,今天把折腾的全过程记录下来。

第一步,在阿里云上申请免费SSL证书

进入控制台,安全(云盾)下有个CA证书服务,点击后页面右上角有个购买证书。
阿里云上申请SSL证书
阿里云上申请SSL证书
购买:证书品牌选择Symantec,证书类型选择 免费型DV SSL,然后完成购买。
选择Symantec,证书类型选择 免费型DV SSL
补全:在 我的证书 控制台,找到购买的证书,在操作栏里选择 补全。填写证书相关信息。
填写证书相关信息
填写证书相关信息
注意:
如果是阿里云的 DNS 解析服务,在上图证书绑定的域名选项上打勾,会自动添加一条 CNAME 记录。
如果不是阿里云的 DNS 解析,在证书绑定的域名选项上把勾去掉,则要到目前自己用的域名解析商后台进行解析,解析时,根据阿里云给你的提示填写。
解析证书
解析完后,大概5-10分钟会通过验证,证书发放成功。
证书发放

第二步,在Nginx服务器上配置Https

2.1下载证书后得到2个文件,一个是.pem,一个是.key,上传这两个文件到服务器上,具体操作如下:
XFTP软件登陆服务器,进入/usr/local/nginx/conf/ 新建一个名为cert的文件夹,把下载的两个证书文件上传。

2.2进入/usr/local/nginx/conf/vhost/ 找到你站点的.conf文件,修改里面的配置。
如果你需要强制跳转到https,找到原来的第一个server { ,在其上面添加如下语句,
#强制让http请求跳转到https
server {
listen 80;
server_name www.9fendi.com 9fendi.com; #域名自行修改
rewrite ^/(.*) https://www.9fendi.com/$1 permanent; #域名自行修改
}
然后在原来的第一个server { 里修改以下语句
server {
listen 80;  #这句原配置就有,如果添加了上面的强制跳转设置,要把这个80端口设置删除,否则留下。
listen 443;  #需要添加
server_name www.9fendi.com 9fendi.com; #这句原配置就有,不修改。
index index.html index.htm index.php default.html default.htm default.php; #这句原配置就有,不修改。
ssl on; #需要添加
ssl_certificate cert/你上传的文件名.pem; #需要添加
ssl_certificate_key cert/你上传的文件名.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; #需要添加
以下配置语句按照原配置不变,省略....

2.3修改保存后,打开Xshell软件进入远程命令状态
输入/usr/local/nginx/sbin/nginx -t 检查配置是否有错误,显示如下表示配置正确。

执行/usr/local/nginx/sbin/nginx -s reload 重新载入配置文件使其生效。

至此,配置完毕,前台打开页面后会自动跳转到Https了。

第三步,善后操作

可能你配置完后,打开页面安全锁还是会显示叹号,但是又确实跳转到了https,怎么回事?
其实是网站页面上面引用了不是https的网页,比如友情链接等。如果这些链接只能是http,不能用https来访问,就会导致网站https前面安全锁有感叹号。
3.1修改老文章里的所有图片链接,防止无法显示。
进入你的phpMyAdmin后台,选定你的数据库,点SQL开始操作数据,操作前一定要备份你的数据库。
举例:将所有文章里带有http://www.9fendi.com/wp-content/uploads/的字符替全部替换成https://www.9fendi.com/wp-content/uploads/

图片链接改了,友情链接等地方咋办,别人不是https的,不能修改。
好在 W3C 工作组考虑到了升级 Https 的各种问题,在 2015 年 4 月份就出了一个草案 Upgrade Insecure Requests ,他的作用就是让浏览器自动升级请求。
3.2让浏览器自动升级请求
方法一:
直接在html中添加下面的标注解释语句:
如果用的是wordpress,把语句添加到主题里的header.php

法二:
在Apache、Nginx甚至是后端语言上,加上下面的header头即可:
如果用的是wordpress,把语句添加到主题里的functions.php

只要选择上面的其中一种解决方法进行操作即可完美解决https安全锁有感叹号的问题了。

绿标锁安全又回来了^_^
解决https安全锁有感叹号

 

赞(0)
9Fendi Blog » 申请阿里云免费SSL证书,让http转为https详细操作
分享到: 更多 (0)

评论 抢沙发