一.CDN(content delivery network|内容分发网络)
是基于大量的缓存服务器,将这些缓存服务器分布在用户或者访问比较集中的地区,缓存服务器上存放源服务器的数据镜像,由CDN网络中心服务器根据访问代价进行负载均衡,进行选区较近的缓存服务器进行访问,减轻了internet的阻塞,实现了网站访问速度的提升。
CDN是一种旨在提升访问速度,分布式的,存储式的网络构架系统。
二.阿里云中ECS域名开启https访问的详细步骤
(1)预备步骤:
A. 开启ECS的防火墙443端口的进口访问。(实例-》管理-》安全组配置-》添加安全组)
B. 要清楚,在阿里云CDN中开启https访问时,必须要将操作域名的顶级域名(一级域名)解析至阿里云CDN中。否则https配置不会生效。
详细操作:
(1)开通阿里云CDN
(2)解析域名到CDN
(3) 域名添加成功后,添加在实例域名管理中添加CNAME域名,(CNAME表示一个重定向的域名)
注意:域名https访问配置成功后,http也能正常访问,CDN起一个转发请求与ssl协议封装的作用。
C. 申请SSL协议证书。注意:一个域名对应一个ssl证书,不能共用,如:对于一个二级域名:www.baidu.com,在必须解析顶级域名的基础上,至少要解析两个域名:一级域名(baidu.com)和二级域名(www.baidu.com).
证书在SSL证书菜单中进行申请,一般使用CA颁布的免费证书。
申请如下:
然后进入证书管理页面将证书解析至CDN即可使用。
(4) 进入CDN的域名管理,打开某个域名的https访问设置。
至此,阿里云端配置工作完成。
本地服务器配置(配置文件的修改,以nginx为例)
-
nginx服务器默认是不开放https协议443端口监听的,所以要在nginx配置文件中做出修改(以ECS UBANTU14系统为例),nginx的配置文件位置为:/etc/nginx/sites-avaliable/default
修改如下:(并在该443端口虚拟主机配置中开通php-fpm配置,能够解析php文件。)
server {
listen 443;
#注意,可以为同一主机设置多个虚拟名称(可准确设置,也可正则匹配)
server_name pipihome.top www.pipihome.top;
root /usr/share/nginx/html;
index index.php index.html index.htm;
ssl on;
ssl_certificate /usr/share/nginx/cert/a.pem;
ssl_certificate_key /usr/share/nginx/cert/a.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: fastcgi_pass unix:/var/run/php/php5.6-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
随后nginx -t 观测配置文件是否正确
Nginx -s reload 重新加载配置文件
Service nginx restart 重启nginx
即可进行https的访问