八个HTTPS和SSL优化使用心得-减少等待时间和降低Https性能损耗
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

HTTPS SSL现在基本上是建站标配了。
得益于Let’s Encrypt、Digicert、TrustAsia、Symantec等提供的免费SSL证书,现在不管是个人建站还是企业建站,上Https的成本可以忽略不计了。
为了安全,我们要上Https,但是开启 SSL 会增加内存、CPU、网络带宽的开销。
http使用TCP 三次握手建立连接,客户端和服务器需要交换3个包。
https除了 TCP 的三个包,还要加上 ssl握手需要的9个包,一共是12个包。所以,HTTPS优化得不好,反而容易出现性能慢的问题。
如果网站的流量比较少,加上服务器的性能配置足以支撑起当前的流量,可能感觉不到对服务器性能的拖累。
但是对于大型的网站,例如百度、Google以及热门APP,优化Https性能,减少资源消耗还是非常有用的。
本篇文章就来分享一下HTTPS和SSL优化使用几点心得体会
内容 1 一、如何选择免费SSL证书? 2 二、服务器开启HSTS 3 三、域名加入HSTS preload list计划 4 四、开启HTTP/2和OCSP Stapling 5 五、使用ECC和RSA双证书 6 六、 开启DNS CAA 7 七、定期自动更新SSL证书 8 八、检测SSL证书配置 9 九、综合 9.1 相关文章一、如何选择免费SSL证书?
建议选择Let’s Encrypt。Let’s Encrypt免费SSL证书虽然只有90天,支持手动和自动续期。Let’s Encrypt SSL在各大浏览器上都得到认可,是免费SSL证书的首选。
Let’s Encrypt适用于VPS等有独立IP的主机上,但是这个免费证书在虚拟主机上使用不是很方便。
现在七牛、阿里云、腾讯云等都提供免费的SSL服务,通过简单的设置就可以配置成功。建议优先使用这些网站提供的免费SSL服务,简单好用。
二、服务器开启HSTS
采用 HSTS 协议的网站将保证浏览器始终连接到网站的HTTPS版本,而不需要用户手动在URL地址栏中输入包含https://的加密地址。我用的是Nginx 服务器,只需要编辑 Nginx 配置文件(如:/usr/local/nginx/conf/nginx.conf)将下面行添加到 HTTPS 配置的 server 块中即可:
Apache、Lighttpd等启用HSTS详细的方法见:服务器启用HSTS。
三、域名加入HSTS preload list计划
上面虽然是启用了HSTS 协议保证了用户访问的始终是Https连接,但是一般地首次访问网站用户都会习惯性地输入非https域名,这就导致了第一次访问网站容易出现http劫持的问题。HSTS preload list计划就是为了解决这个问题的,它是chrome\Fiox\Edge等浏览器内置的列表。
加入HSTS Preload List的方法:启用HSTS并加入HSTS Preload List让网站Https访问更加安全-附删除HSTS方法。目前wzfou.com已经成功加入到了HSTS preload list,如果你用的是Chrome或者Fiox,第一次访问本站就是默认用Https连接的。
四、开启HTTP/2和OCSP Stapling
HTTP/2 相比于之前的HTTP/1.1 在性能上的大幅度提升,所以只要你启用了Https,记得一定要开启HTTP/2,检查一下你的配置文件是否有:listen 443 ssl http2;
OCSP Stapling 服务器事先模拟浏览器对证书链进行验证,然后将 OCSP 验证结果缓存到本地。这样,当浏览器访问站点时,在握手阶段,可以直接拿到 OCSP 响应结果和证书链,对访问速度有明显提升。
Nginx 中开启 OCSP Stapling。(如果 ssl_certificate 指令指定了完整的证书链,则 ssl_trusted_certificate 可省略)
ssl_stapling on;ssl_stapling_verify on;ssl_trusted_certificate /path/to/certs/chained.pem;Apache 中开启 OCSP Stapling:
在 <VirtualHost></VirtualHost> 中添加:
在 <VirtualHost></VirtualHost> 外添加:
五、使用ECC和RSA双证书
默认的我们都会使用RSA证书,因为RSA证书的兼容性最为广泛。但是ECC 证书拥有体积小、运算速度快、安全性高(256位ECC key就能起到相当于3072位的RSA key的安全性)等特点,可以在一定程度上提供Https性能。
Let’s Encrypt已经支持生成ECC 证书了,使用 acme.sh 签发SSL证书, 指定 --keylength ec-256 就可以将证书类型改为 ECC:
需要注意的是ECC在Windows XP上不兼容,这个时候我们就会想到用双证书了,即当不支持ECC证书时Nginx自动将RSA证书展示给用户。如果nginx 的版本大于1.11,直接就可以在配置文件中写上ECC和RSA双证书的路径了,wzfou.com演示如下:
重启Nginx,当XP等不支持ECC证书的用户访问网站时,显示的是RSA证书。
而其它的用户则优先使用ECC证书。
如果你发现ECC没有优先显示,检查一下ssl_per_server_ciphers是否开启,同时ssl_ciphers有没有配置好,以下是wpbox.cc 当用的配置:
另外,下面三个任选其一即可(仅供测试):
ssl_ciphers 'EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5';ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';六、 开启DNS CAA
DNS CAA的作用是只允许在记录中列出的 CA 机构颁发针对该域名(或子域名)的证书,以防止有人伪造SSL证书,同时CAA 记录可以控制单域名 SS L证书的发行,也可以控制通配符证书。详细方法见:京东云DNS设置CAA。
问题:开启DNS CAA导致错误:Verify error:CAA record for *.wzfou.comprevents issuance。解决的办法就是增加 issuewild 记录: 0 issuewild "letsencrypt.org" 。 另外提供两个检测CAA配置是否正确的网站:
七、定期自动更新SSL证书
想手动更新方法:
# RSA$ acme.sh --renew -d wzfou.com –d www.wzfou.com --force# ECCacme.sh --renew -d wzfou.com –d www.wzfou.com --force --ecc一般地acme.sh已经自动添加了定时任务了,定期更新Let’s Encrypt证书,如果你发现没有定期更新证书,检查一下你的Cron任务是否正确,也可以试试强制更新:
"/root/.acme.sh"https://wzfou.cdn.bcebos.com/acme.sh --cron --home "/root/.acme.sh" --force八、检测SSL证书配置
常用的检测网站有:
https://www.ssllabs.com/ssltest/analyze.htmlhttps://myssl.com/重点推荐用ssllabs.com,检测的结果还是非常地准确,如下:
九、综合
综合以上优化策略,Nginx的配置文件具体的优化如下:
server {listen 443 ssl http2;#使用HTTP/2,需要Nginx1.9.7以上版本add_header Strict-Transport-Security "max-age=6307200; includeSubdomains; preload";#开启HSTS,并设置有效期为“6307200秒”(6个月),包括子域名(根据情况可删掉),预加载到浏览器缓存(根据情况可删掉)add_header X-Frame-Options DENY;#禁止被嵌入框架add_header X-Content-Type-Options nosniff;#防止在IE9、Chrome和Safari中的MIME类型混淆攻击ssl_certificate /usr/local/nginx/conf/vhost/sslkey/www.linpx.com.crt;ssl_certificate_key /usr/local/nginx/conf/vhost/sslkey/www.linpx.com.key;#SSL证书文件位置ssl_trusted_certificate /usr/local/nginx/conf/vhost/sslkey/chaine.pem;#OCSP Stapling的证书位置ssl_dhparam /usr/local/nginx/conf/vhost/sslkey/dhparam.pem;#DH-Key交换密钥文件位置#SSL优化配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#只允许TLS协议ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;#加密套件,这里用了CloudFlare's Internet facing SSL cipher configurationssl_per_server_ciphers on;#由服务器协商最佳的加密算法ssl_session_cache builtin:1000 shared:SSL:10m;#Session Cache,将Session缓存到服务器,这可能会占用更多的服务器资源ssl_session_tickets on;#开启浏览器的Session Ticket缓存ssl_session_timeout 10m; #SSL session过期时间ssl_stapling on; #OCSP Stapling开启,OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高TLS握手速度ssl_stapling_verify on;#OCSP Stapling验证开启resolver 8.8.8.8 8.8.4.4 valid=300s;#用于查询OCSP服务器的DNSresolver_timeout 5s;#查询域名超时时间···}实际使用过程中发现个别的“优化”还得根据自身的需要来确定,以下是wzfou.com正在用的Nginx配置,仅供参考:
listen 80; listen 443 ssl http2;#ECCssl_certificate /root/.acme.sh/wzfou.com_ecc/fullchain.cer;ssl_certificate_key /root/.acme.sh/wzfou.com_ecc/wzfou.com.key; #RSA ssl_certificate /usr/local/nginx/conf/ssl/wzfou.com.crt;ssl_certificate_key /usr/local/nginx/conf/ssl/wzfou.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;ssl_per_server_ciphers on;ssl_session_timeout 10m;ssl_session_cache builtin:1000 shared:SSL:10m;ssl_buffer_size 1400;add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";ssl_stapling on; ssl_stapling_verify on;[https]历史优惠活动内容
猜你可能想看的VPS
- 疯狂猜成语 图猜成语一个人用嘴吹出一个成字是什么成语?全球[VPS测评]
- 青果云→199 元 年 美国 cn2 gia VPS 512M 内存 1美国VPS[主机]
- 80VPS→洛杉矶 MC 站群服务器 850 元 X3440 4GB 1站群服务器[IP]
- DMIT 美国 VPS→美国 CN2+美国高防+美国原生 IP 九折+1美国VPS[主机]
- 搬瓦工 VPS 一键安装 Windows 系统教程WINDOWS
- 疯狂猜成语 图猜成语一片草和一个人被拦腰斩断是什么成语?全球[VPS测评]
- 开年优惠 HostXen→新上香港四区 充值最高送 100 元 买 VP香港VPS[主机]
- RAKsmart→无限流量服务器月付 46 美元起 VPS 全场 8 折全球[VPS测评]
- 标准互联双十一第二波→香港&美国主机 8 折起 香港云服务器年付 256美国VPS[主机]
- 桔子 VPS 五一大促,美国 cn2gia 带宽升级+赠送流量+五折,看美国VPS[主机]
- 劳动节 aquanx→美国硅谷机房 独立服务器 $39 月起 100M 独立服务器[U]
- CloudCone→$15 年 512MB 内存 15GB 空间 2TB虚拟空间(主机)
- WordPress 常用的自定义文字广告、图片广告代码全球[VPS测评]
- 数脉科技香港独服 CN2+BGP线路/10Mbps带宽/¥251.8/月香港VPS[主机]
- 如何快速创建个人独立博客并从中获益?独立服务器[U]
- 宝塔面板Nginx的Lua-Waf防火墙终极改进 动态封禁IP全球[VPS测评]
- idc.wiki 160M内存 3G硬盘 400G流量 100M带宽 K全球[VPS测评]
- 美国信贷市场的痛苦将不亚于上世纪70年代的通胀时期美国VPS[主机]
- CombCloud,香港沙田CN2VPS测评,2核1G52元/月,安畅C香港VPS[主机]
- 日主机,便宜美国CN2高防VPS¥19/月起,1Gbps带宽,香港多IP站群服务器[IP]
- 快云科技:2核2G3M香港云BGP/新界CN2云服务器,月付33元香港VPS[主机]
- earidc怎么样?香港三网cn2vps带宽1M月付29元香港VPS[主机]
- 二三互联年末回馈:香港/美国云服务器新购特价促销,优惠码可打76折美国VPS[主机]
- 酷锐云:春节特惠,4核4G80G10M仅60元/月起,香港/美国云服务器美国VPS[主机]
- 邢志宏:加快推动高质量建设跨境电商综试区起势成势全球[VPS测评]
- 腾讯云免备案海外服务器:高速网络免备案,助力企业出海!全球[VPS测评]
- 华纳云年终钜惠活动:云服务器半年低至280元,香港高防服务器999元香港VPS[主机]
- 快云科技:2核2G3M云服务器14.98元/月;香港vps全场7.5折,香港VPS[主机]
- 企鹅小屋:香港ntt vps,大带宽直连,1核/1G/2T流量/半年15香港VPS[主机]
- 亿速云香港服务器助力企业出海 有哪些具体的特点和优势?香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-222342.html











