Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.3k views
in Technique[技术] by (71.8m points)

thinkphp小程序申请退款,证书放网站外的目录使用绝对路径报错No required SSL certificate

thinkphp小程序申请退款,如果证书放网站外的目录,例如证书放在服务器根目录下/cert/cert.pem, 使用绝对路径/cert/cert.pem,

curl_setopt($ch,CURLOPT_SSLCERT,'/cert/cert.pem');

会报错No required SSL certificate was sent。

即使修改目录所有者为www,或者root,都不行。
chown -R www:www /cert

如果把证书放在网站根目录/www/domain/下,用相对路径abc/cert.pem 则退款成功,此时实际绝对路径为/www/domain/abc/cert.pem。

curl_setopt($ch,CURLOPT_SSLCERT,'abc/cert.pem');

似乎这样不安全。
问:我想把证书放在网站外的目录,应该怎么操作?问题出在哪?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

在根目录下的 .user.ini 中配置一下 open_basedir,把证书目录放进去
这个文件如果已经存在的话,默认是不能编辑的,需要先执行一下 chattr -i .user.ini ,然后再编辑,多个路径使用 : 分隔,修改后保存,再执行 chattr +i .user.ini,重启一下 FPM


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...