ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 站点上CDN+HTTPS

站点上CDN+HTTPS

原创 Linux操作系统 作者:clamshine 时间:2017-03-19 01:40:07 0 删除 编辑
  采用的是阿里云的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"  转发配置如下:
  

点击(此处)折叠或打开

  1. if ( $http_x_forwarded_proto = 'http' ){
  2.                 return 301 https://$server_name$request_uri;
  3.         }
        并在80 端口 若有做反向代理  加上以下这句 若没有则不用。

点击(此处)折叠或打开

  1. proxy_set_header Host $server_name;
 总的配置例如:(日志类型记得打开)

点击(此处)折叠或打开

  1. server {
  2. listen 80;
  3. listen 443 ssl;
  4. ssl on;
  5. server_name
  6. if ( $http_x_forwarded_proto = 'http' ){
  7. return 301 https://$server_name$request_uri;
  8. }
  9. location /overbusy.html {
  10. root /alidata/apps/slb/ROOT/;
  11. }
  12. location / {
  13. limit_req zone=perip burst=15 nodelay;
  14. proxy_pass http://127.0.0.1:XXX;
  15. proxy_set_header Host $server_name;
  16. }
  17. }
注意点:
最后上HTTPS的时候 发现 app端加载不了新的JS资源。经查证后发现 版本控制不应以参数也就XXX.js?0001该类型请求 ,CDN有本地缓存,获取不到新的资源,请求无响应。更改方案:版本控制以0001类型请求发出 。CDN获取不到就去源站拿数据。





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30629069/viewspace-2135617/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-12-12

  • 博文量
    8
  • 访问量
    27992