背景:在上CDN以前,源站服務器的狀況是:安裝了SSL,配置了HTTPS,而且已經正常運行了一段時間。由於想要提升訪問速度,決定上CDN,開啓HTTPS。
這時,產生了疑問:源站上的HTTPS配置,是否仍需保留?跟CDN上開啓的HTTPS有什麼關係呢?
以阿里雲ECS爲例,進行說明:html
打開控制檯 --> 產品與服務 --> 存儲與CDN --> CDNgit
1.添加域名github
注意:源站信息的配置
類型選擇 IP(可根據須要,選擇其餘類型)
端口:選擇 80端口,表示源站需開放可正常訪問的80端口。選擇 443端口,則表示源站需配置HTTPS,開放443端口。
參考下圖:安全
2.HTTPS配置服務器
參考幫助文檔中說明,進行配置便可。session
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,確保全鏈路的安全。