php curl 请求网络报错“dh Key Too Small”

PHP的curl请求https网址的时候报错

141A318A:SSL routines:tls_process_ske_dhe:dh key too small

运行环境是Ubuntu20

报错的原因是Ubuntu提高了SSL的安全级别,但是服务器端还是使用的低版本的安全级别,解决办法是降低本地的SSL安全级别

打开文件/etc/ssl/openssl.cnf

在此文件的开头添加:

openssl_conf = default_conf

在此文件的结尾添加:

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
CipherString = DEFAULT:@SECLEVEL=1

 

然后重启php-fpm和nginx,问题得到解决

参考:https://www.dailyithelp.com/how-to-resolve-dh-key-too-small-in-ubuntu/