zoukankan      html  css  js  c++  java
  • 免费SSL证书的OCSP问题

    类似苹果这种变态的生态要验证OCSP,非常的艹蛋,白屏很难受,不然就只能买某些类型的证书,比如symantec之类。

    然后let's encrypt 给的免费泛域名证书配上acme.sh还是很不错的,基本上不用管,写个定时任务定期restart一下nginx就行了。

    可是问题是ocsp.int-x3.letsencrypt.org这个域名在国内非常的不稳定,总是要卡一下才出来,具体原因可以说很长一段了,现在来说如何解决;

    首先nginx可以使用ocsp本地化来解决,也就是nginx直接在SSL握手的时候发送ocsp来避免直接向ocsp.int-x3.letsencrypt.org发送验证请求;

    下面就是开启nginx ocsp的方法:

            # 开启 OCSP Stapling ---当客户端访问时 NginX 将去指定的证书中查找 OCSP 服务的地址,获得响应内容后通过证书链下发给客户端。
        	ssl_stapling on;
            # 开启 OCSP Stapling file本地化,定期刷新一下到本地,比resolve更快。
        	ssl_stapling_file /root/.acme.sh/domain.com/ocsp_sta.oscp;
        	# 启用OCSP响应验证,OCSP信息响应适用的证书
        	ssl_stapling_verify on;
        	#若 ssl_certificate 指令指定了完整的证书链,则 ssl_trusted_certificate 可省略。
        	ssl_trusted_certificate /root/.acme.sh/domain.com/fullchain.cer; 
    

    那么问题来了ocsp文件从哪里来呢?

    首先你的服务器得有比较新的openssl,然后通过下面的指令获取ocsp文件

    openssl ocsp -no_nonce -respout ocsp_sta.oscp -issuer ca.cer -cert domain.com.cer -url http://ocsp.int-x3.letsencrypt.org/ -header "HOST" "ocsp.int-x3.letsencrypt.org" -verify_other fullchain.cer
    

    注意,-verify_other fullchain.cer 是一定要的,不然你会得到一个下面的错误:

    Response Verify Failure
    140255965575056:error:27069076:OCSP routines:OCSP_basic_verify:signer certificate not found:ocsp_vfy.c:92:
    

    接下来验证一下是否已经带上OCSP验证了

    openssl s_client -connect 127.0.0.1:443 -servername domain.com -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response"
    

    如果得到:

    OCSP response:
    OCSP Response Data:
        OCSP Response Status: successful (0x0)
        Response Type: Basic OCSP Response
    

    那么恭喜你,都OK了。

    剩下就是写脚本定时更新oscp,定期restart nginx。

    ps,nginx需要定期restart, reload是不行的。

  • 相关阅读:
    IIS7开启目录浏览功能
    IIS7文件无法下载问题处理
    Dubbo端口占用错误信息
    PlSqlDev中执行INSERT SQL语句包含&符号导致数据异常
    VMWare版本兼容问题处理
    手动释放Linux内存
    ORA-00972_标识符过长
    通过API获取统计信息时报Access denied错误处理记录
    微信小程序中跳转另一个小程序
    css怎样去掉多个Img标签之间的间隙
  • 原文地址:https://www.cnblogs.com/maintell/p/13601458.html
Copyright © 2011-2022 走看看