美文网首页diboot
CDN开启了HTTPS,源站是否必须配置HTTPS?

CDN开启了HTTPS,源站是否必须配置HTTPS?

作者: 一个鸡蛋壳儿 | 来源:发表于2019-09-28 19:46 被阅读0次

    背景:在上CDN之前,源站服务器的情况是:安装了SSL,配置了HTTPS,并且已经正常运行了一段时间。因为想要提高访问速度,决定上CDN,开启HTTPS。
    这时,产生了疑问:源站上的HTTPS配置,是否仍需保留?跟CDN上开启的HTTPS有什么关系呢?

    以阿里云ECS为例,进行说明:

    控制台配置

    打开控制台 --> 产品与服务 --> 存储与CDN --> CDN

    1.添加域名

    注意:源站信息的配置
    类型选择IP(可根据需要,选择其他类型)
    端口:选择80端口,表示源站需开放可正常访问的80端口。选择443端口,则表示源站需配置HTTPS,开放443端口。

    参考下图:


    image.png

    2.HTTPS配置

    参考帮助文档中说明,进行配置即可。

    CentOS 配置

    CentOS使用Nginx,参考下面说明:
    1.源站信息配置80端口时,Nginx配置信息

    server {
            listen       80;
            server_name  xx.xx.xx;
     
            charset utf-8;
            
           location / {
                root   index;
                index  index.html index.htm;
            }
            ...
           }
    

    2.源站信息配置443端口时,Nginx配置信息

    server {
            listen       80;
            server_name  xx.xx.xx;
    
            rewrite ^(.*)$ https://${server_name}$1 permanent;
       }
       
       server {
            listen       443 ssl;
            server_name  xx.xx.xx;
           
            ssl_certificate   cert/2260236_xx.xx.xx.pem;
            ssl_certificate_key  cert/2260236_xx.xx.xx.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;
     
            charset utf-8;
            
           location / {
                root   index;
                index  index.html index.htm;
            }
            ...
           }
    

    注:xx.xx.xx 为域名
    总之,客户端访问CDN节点和CDN节点访问源站,是两段不同的链路。CDN开启HTTPS对客户端访问CDN节点有效,源站配置HTTPS对CDN节点访问源站有效。因此,CDN开启HTTPS,是由阿里云控制台中对源站信息的端口配置决定的,不强制要求源站配置HTTPS。不过,建议CDN和源站都开启HTTPS,确保全链路的安全。

    diboot 简单高效的轻代码开发框架 (求star)

    相关文章

      网友评论

        本文标题:CDN开启了HTTPS,源站是否必须配置HTTPS?

        本文链接:https://www.haomeiwen.com/subject/hcitpctx.html