PHP curl:(60)SSL证书问题:自签名证书

时间:2019-11-14 09:20:27

标签: php ssl curl

当PHP发出HTTP发布请求时,将显示一条错误消息。这是我的错误消息:

ttg@pro1-nginx:~$ curl  https://10.10.10.20:9997/playwpt/admin
curl: (60) SSL certificate problem: self signed certificate
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
ttg@pro1-nginx:~$ 

在测试环境中,nginx用作Web服务。 PHP处理动态请求。在服务器中,我想测试PHP发布请求。使用curl命令访问时,表明SSL证书有问题

我测试了一个解决方案:

从curl的官方网站下载根证书cacert.pem,然后修改php.ini以添加证书并重新启动Web服务。

将以下内容添加到php.ini

[SSL]
curl.cainfo = "/etc/php/7.2/cacert.pem"
openssl.cafile = "${curl.cainfo}"

配置完上述方法后,当我在curl命令之后添加“-K”参数时,就可以访问它,但是如果不添加此参数,我仍然会报告上面的相同错误。

这是我的nginx配置:

server{
   listen       80;
   server_name  10.10.10.40;
   index index.html index.htm index.php;
   root  /usr/share/nginx/html;                            
   location ~ .*\.(php|php5)?${      
         fastcgi_pass  unix:/run/php/php7.2-fpm.sock;
         #fastcgi_pass  127.0.0.1:9000;
         fastcgi_index index.php;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
         }

    location ~ .(version.xml|version.fuh|version.fuh.xxx|Boot.swf)${
         expires      3m;
         }

    location ~ .* 
    (gif|jpg|jpeg|png|bmp|dat|zip|jz|mp3|exe|dds|alpha|rar|spr|dll|pdb|pak|xxx|pck|cur)${
         expires      240h;
         }

    location ~ .*\.(js|css|txt|xml|lua|htm|html|cfg|ini|hlsl|fuh|swf|cab)?${
         expires      120m;
         }
    }

我想要的效果是即使我在curl命令之后不添加“-K”参数也可以访问。我该如何解决这个问题?

请帮助我,谢谢!

0 个答案:

没有答案