开启OCSP提升https证书验证效率解决Let’s Encrypt SSL证书访问慢的问题

Valora ·
更新时间:2024-11-13
· 639 次阅读

这几天网站访问出现第一次打开网站特别慢,打开以后页面打开速度正常的问题,经过研究发现是HTTPS证书验证超时的问题,证书商的验证URL无法访问不知道是线路问题还是被墙了。

请教了几位大神如何解决HTTPS证书验证超时的问题.给出的解决方案是要么换证书商,要么开启OCSP。

我这种穷人哪用得起大厂的HTTPS证书呀,只能采用第二种方案,开始OCSP。

如果网站部署了免费的Let's Encrypt证书时,第一次https打开此网站时会显得很慢,往往需要等待四五秒才能正常打开,这是由于特殊原因,ocsp.int-x3.letsencrypt.org服务器IP无法正常被解析。

为了提升网站访问体验,可以开启OCSP Stapling,解决第一次访问网站时很慢的问题。

本文环境:

宝塔面板

CentOS 7 / Windows 2012 R2

Apache / Nginx

一、针对海外服务器开启OCSP Stapling

1、配置系统的Apache或Nginx信息

Apache开启OCSP:

①找到Apache安装目录,编辑目录下的httpd-ssl.conf文件,CentOS系统中的目录为:/www/server/apache/conf/extra/httpd-ssl.conf,Windows系统中的目录为:C:/BtSoft/apache/conf/extra/httpd-ssl.conf,去掉文件中以下两行的注释:

SSLUseStapling On

#CentOS:

SSLStaplingCache "shmcb:/www/server/apache/logs/ssl_stapling(32768)"

#Windows:

SSLStaplingCache "shmcb:C:/BtSoft/apache/logs/ssl_stapling(32768)"

如果文件中没有以上这两行,则手动添加进去。

②编辑httpd.conf文件,CentOS系统中的目录为:/www/server/apache/conf/httpd.conf,Windows系统中的目录为:C:/BtSoft/apache/conf/httpd.conf,去掉文件中以下这行的注释:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

如果文件中没有以上这行,则手动添加进去。

③配置网站的Apache信息,在网站的配置文件中,添加如下信息:

SSLUseStapling On

#CentOS:

SSLStaplingCache "shmcb:/www/server/apache/logs/ssl_stapling(128000)"

#Windows:

SSLStaplingCache "shmcb:C:/BtSoft/apache/logs/ssl_stapling(128000)"

以上信息可以添加在这一行<VirtualHost *:443>的上面。

至此,Apache已经开启了OCSP Stapling,重启Apache即可。

Nginx开启OCSP:

直接在网站的Nginx配置文件中,添加如下信息:

server {

listen 443;

………

ssl_stapling on; #开启stapling

ssl_stapling_verify on; #开启stapling验证

……

}

保存,重启Nginx即可。

二、针对内陆服务器开启OCSP Stapling

步骤和第一段的一样,开启OCSP Stapling后,还需要编辑hosts文件,指定一下ocsp.int-x3.letsencrypt.org服务器IP地址。

ocsp.int-x3.letsencrypt.org服务器IP地址有如下这些:

23.44.51.8 (美国)

23.44.51.27 (美国)

104.109.129.57 (英国)  

104.109.129.11 (英国)

175.45.42.209 (香港)

175.45.42.218 (香港)

223.119.50.201 (香港)

223.119.50.203 (香港)

23.32.3.72 (东京)

编辑hosts文件,Windows中的路径为:C:\windows\system32\drivers\etc\hosts,Linux中的路径为:/etc/hosts,添加以下信息:

175.45.42.218 ocsp.int-x3.letsencrypt.org

重启一下Apache或Nginx即可。

三、验证OCSP Stapling是否开启成功

1、在SSH中使用以下命令:

openssl s_client -connect www.你的网址.com:443 -servername www.你的网址.com -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response"

若站点返回 OCSP response: no response sent,代表开启失败。

若站点已成功启用 OCSP Stapling,会返回提示中有:successful。

2、打开以下网址,输入你的网站即可检测:

https://www.getssl.cn/ocsp

如果你的网站出现第一次打开网站时会显得很慢,也是https的话不妨看看证书是否有问题

请关注软件开发网,了解更多关于网站打开速度慢的问题

您可能感兴趣的文章:Java读取OpenSSL生成的PEM公钥文件操作解决Python3.7.0 SSL低版本导致Pip无法使用问题Python pip install之SSL异常处理操作利用C#实现SSLSocket加密通讯的方法详解Openssl实现双向认证教程(附服务端客户端代码)如何通过Python3和ssl实现加密通信功能Python基于QQ邮箱实现SSL发送Jupyter notebook 远程配置及SSL加密教程基于docker启动nginxssl配置



https证书 https let 效率 ssl证书 ssl

需要 登录 后方可回复, 如果你还没有账号请 注册新账号