采用的是阿里云的CDN
存储服务是阿里oss
先上CDN : 客户端访问--- DNSPOD解析外网访问的域名(对外服务域名)------阿里的加速域名 ----解析到本地的服务域名 .
在上HTTPS 时发现 阿里负载均衡产品是支持HTTPS对内部的80端口的监听,也就是说 HTTPS加密解密是在SLB负载均衡层面就实现,问题来了 若我们配置对外服务域名强制跳转HTTPS 在nginx/apache层面实现301重定向 会造成页面的跳转过多死循环 ,访问不到后端服务器资源。
这时有两个方式可解决该问题:
方式一:
该方式是参考阿里云栖社区的建议: 客户端80访问----服务器配置301重定向到443(nginx/apache)-----443走负载均衡 监听后端的81接口(真正的服务器资源端口) 同时 80依旧监听80。
方式二:
开启slb监听协议

nginx/apache 依旧配置301 开启改字段的日志 log_format main 加上 "$http_x_forwarded_for" 转发配置如下:
-
if ( $http_x_forwarded_proto = 'http' ){
-
return 301 https://$server_name$request_uri;
-
}
并在80 端口 若有做反向代理 加上以下这句 若没有则不用。
-
proxy_set_header Host $server_name;
总的配置例如:(日志类型记得打开)
-
server {
-
listen 80;
-
listen 443 ssl;
-
ssl on;
-
server_name
-
if ( $http_x_forwarded_proto = 'http' ){
-
return 301 https://$server_name$request_uri;
-
}
-
location /overbusy.html {
-
root /alidata/apps/slb/ROOT/;
-
}
-
-
location / {
-
limit_req zone=perip burst=15 nodelay;
-
proxy_pass http://127.0.0.1:XXX;
-
proxy_set_header Host $server_name;
-
}
-
}
注意点:
最后上HTTPS的时候 发现 app端加载不了新的JS资源。经查证后发现 版本控制不应以参数也就XXX.js?0001该类型请求 ,CDN有本地缓存,获取不到新的资源,请求无响应。更改方案:版本控制以0001类型请求发出 。CDN获取不到就
去源站拿数据。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30629069/viewspace-2135617/
,如需转载,请注明出处,否则将追究法律责任。