更新SSL憑證導致WordPress插件異常

我的一個工作用的Wordpress網站上有啟用圖片加水印的插件,插件是利用.htaccess和php來添加,就是在上傳的圖片目錄做了重定向,用php動態的來加水印(Watermark)。原始圖片并沒有被修改,一旦停用插件,水印就會消失。

先前網站的SSL憑證是使用Godaddy的一年效期的憑證,使用都是很正常的。

前幾天因為憑證過期,就改用Let’s Encrypt的免費憑證,詭異的事情就發生了,訪問網站,那些本來正常的圖片都無法訪問,提示:

Warning: imagecreatefrompng(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /www/wwwroot/xxx.xxx/wp-content/plugins/ips-watermark/watermark.php on line 66

Warning: imagecreatefrompng(): Failed to enable crypto in /www/wwwroot/xxx.xxx/wp-content/plugins/ips-watermark/watermark.php on line 66

而我其他用此插件的網站是正常的,開始根本沒有想到憑證上面去,首先就先停用插件,換成另外一個類似的插件,也是報同樣的錯誤

都是提示憑證驗證失敗,可憑證是剛申請的呀,難道是因為太新了反而無法識別不成,用關鍵字去找尋了下,原因是應用程式無法驗證伺服器的SSL憑證,本地PHP.ini中指向的憑證太舊了,可能原來Godaddy大廠的會在其中,而Let’s Encrypt比較新的則沒有在裡面。

解決方式:
1.訪問https://curl.haxx.se/docs/caextract.html下載最新的pem


2.查看server上的php.ini指向的pem位置,并使用新下載的pem進行替換。
我的server上的設定為

可以看到原來的pem只有7K而已,而新下載的有200多K

替換後,重新刷新網頁,水印插件已經可以正常工作了。
附件提供2020年7月的pem文件:cacert

 

 

點閱: 12