加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 创业 > 经验 > 正文

这些 Nginx 常见问题,帮你快速定位故障

发布时间:2021-06-05 17:18:50 所属栏目:经验 来源:互联网
导读:虽然知道应该和证书关系不大,但是还是决定更换一个证书看看,因为之前是RSA的证书,那我换个ECC的证书试试(推荐七牛云SSL证书申请,可以选择ECC证书) 换过之后有新的发现 curl:(35)Cannotcommunicatesecurelywithpeer:nocommonencryptionalgorithm(s).

虽然知道应该和证书关系不大,但是还是决定更换一个证书看看,因为之前是RSA的证书,那我换个ECC的证书试试(推荐七牛云SSL证书申请,可以选择ECC证书)

换过之后有新的发现

curl: (35) Cannot communicate securely with peer: no common encryption algorithm(s). 

无法与对等体安全通信:无通用加密算法

问题没解决,还出来新问题了,猜测ECC算法兼容性问题,通过一番google之后,了解到如下信息:

原来Redhat/CentOS服务器上curl默认是使用NSS库的,而在这两个系统上curl默认是禁用ECC加密的,虽然服务端加密套件支持ECC,但是客户端不支持,所以请求失败,需要客户端curl通过指定加密套件来请求

curl --ciphers ecdhe_rsa_aes_128_gcm_sha_256 ... 

指定加密套件后,又回到起点,仍然是原来的错误,看来和证书没有关系

柳暗花明

没办法,仔细对比了其他网站的nginx配置,没什么不一样,只是没有配ssl_session_cache,以我对该参数的了解,该参数只是作为ssl优化的一个配置,起到缓存的作用,减少握手次数,但是现在已经“穷途末路”了,先配上再说

万万没想到,好了

总结如下:

ssl_session_cache有4个可选参数

off

严禁使用session缓存:nginx明确告诉客户端session可能不会被重用

none

session缓存的使用被禁止:nginx告诉客户端session可能会被重用,但实际上并不会将session参数存储在缓存中

builtin

在OpenSSL中构建的缓存;仅由一个工作进程使用。缓存大小在session中指定。如果没有给出大小,则等于20480个会话。使用内置高速缓存可能导致内存碎片

shared

所有工作进程之间共享缓存。缓存大小以字节为单位指定;一兆字节可以存储大约4000个session。每个共享缓存都应该有一个任意名称。具有相同名称的缓存可以用于多个虚拟服务器

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读