阿里云下 http 升级https

1.证书申请

免费证书:

国外免费:startssl.com

国内:https://www.wosign.com/ 有免费的也有收费的

收费:http://www.chinaitrust.com/ 等等

具体流程请自行google,如果域名多的话最好申请 全站下的证书,当域名就申请一个就可以了。

2.单机ecs配置

单机ecs和普通机器一样,直接在机器上配置就可以了,把秘钥文件上传到服务器,配置对应的server端就可以。

server {

listen               443;

server_name  example.com;

ssl                  on;

ssl_certificate key_pub.crt;      #(证书公钥)

ssl_certificate_key key_sec.key;      #(证书私钥)

}

另外如果希望原来的http直接跳转到https需要增加一个配置

server {

listen  80;

server_name example.com;

rewrite ^(.*)$  https://$host$1 permanent;

}

也可以直接在php代码里面通过协议或者端口做跳转:

function inSecure()

{

if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off'){

return true;

}else{

return false;

}

}

if(!inSecure())

{

header("location:https://example.com");

exit();

}

3.slb下配置证书和设置

a.在slb中新建端口监听,协议HTTPS 监听443端口

b.后端协议HTTP,可以设置监听端口81,需要在nginx中开启81接口

server

{

listen 81;

server_name www.example.com;

index index.html index.htm index.php;

root /data/web/example.com;

............

}



c.选择新建证书把证书加到里面去,这样配置就成功了

另外健康检查的检查路径最好设置别设置成首页 因为请求的频率还是比较高的,对首页会有一些压力

阿里云下 http 升级https_第1张图片

4.资源兼容(图片,样式等)

由于https网站加载http资源会有安全提示,所以最好统一成一致的资源调用。

页面调用的资源分为两种,一种是本站内的资源,另外一种是外站的资源,外站的资源一定要实现确定好是否支持 https

如果同时支持http和https两种协议的话调用资源可以写成 把对应的协议去掉。

例如: http(s)://www.xxx.com/aaa.jpg 可以写成  //www.xxx.com/aaa.jpg 这样就会随着网站的协议自动切换。

如果外站的资源是http可以通过iframe方式嵌入

可以参考地址:

https://segmentfault.com/a/1190000004200361?utm_source=Weibo


5.charles下监测https资源

问题来了,在测试的时候尤其在移动设备上

1. 电脑端先安装证书

2.配置域名设置charles 在 Proxy-->SSL Proxy Setting-->add

加入需要监测的域名和443端口

3.ios上在safari 下打开

 https://www.charlesproxy.com/assets/legacy-ssl/charles.crt

直接安装即可,详细可以在 

http://www.tuicool.com/articles/JfEZr23

查看

你可能感兴趣的:(阿里云下 http 升级https)