这几天网站访问出现第一次打开网站特别慢,打开以后页面打开速度正常的问题,经过研究发现是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 Stapling1、配置系统的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配置