乐趣区

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

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

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

控制台配置

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

1. 添加域名

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

参考下图:

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)

退出移动版