My domain is: enfeedia.com
I ran this command:
$fhandle = fopen('https://enfeedia.com/enfeedia.xml', 'r')
permissions for that file is 775.
That xml file is an RSS compliant feed, proven over and over, including working with Google FeedBurner.
It produced this output:
Warning : no valid certs found cafile stream: `/etc/letsencrypt/live/enfeedia.com/' in /srv/www/enfeedia.com/public_html/... {omitted remainder of path to the test script, which includes only that fopen() command, isolating the test from all my website code}
My web server is (include version): CentOS Linux release 7.8.2003 (Core)
The operating system my web server runs on is (include version):
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 2 2020 13:13:23
My hosting provider, if applicable, is: Linode
I can login to a root shell on my machine (yes or no, or I don't know): Yes
I'm using a control panel to manage my site (no, or provide the name and version of the control panel): No
The version of my client is (e.g. output of certbot --version
or certbot-auto --version
if you're using Certbot):
certbot 1.6.0
Notes:
I (obviously) keep certs renewed on time.
During my various experiments, I decided to do a forced renewal. It was successful and had no impact on test results.
In php.ini, both "allow_url_open" and "allow_url_include" are "On".
In php.ini, this line is included (not commented out):
openssl.cafile=/etc/letsencrypt/live/enfeedia.com/
Yes, I know to reboot after changes to php.ini.
Permissions of the four .pem files -- cert.pem, chain.pem, full chain.pem and privkey.pem -- are 777 and ownership is root:root
I navigated to the location of those .pem files and verified contents exist (using cat) which, of course, in the process proved the path is correct.
Chased these down and verified contents exist (examples selected from a list of files I assume from various renewals):
-rw------- 1 root root 1704 Oct 15 03:57 0008_key-certbot.pem
-rw-r--r-- 1 root root 1293 Oct 15 03:57 0008_csr-certbot.pem
Up to a month or so ago, all worked well. (Application is an RSS feed reader, with the xml file generated by Enfeedia located in public accessible folder. I use Googles FeedBurner and it successfully access the xml file. Enfeedia includes feed reader application as part of its syndication functionality. Customer websites include a one line invocation of the feed reader functionality.
Linode personnel assure me no changes have been made to server software, and that they would not make any changes without my approval.
I've not been messing around with any code associated with the feed generation and syndication functionality.
I've not changed any paths to the various certs folders/files.
I've experiemented in my test cases with this line included and not included in php.ini:
openssl.cafile=/etc/letsencrypt/live/enfeedia.com/
Got error reports in both cases.
I came across this ...
phpthumb fopen(): SSL operation failed with code 1. OpenSSL Error messages - githubmemory
... during my testing and it fixed one test case (fopen) but I still have a problem with file_get_contents. I believe all it does is defeat checking certs, so I don't think it to be a wise solution, but I mention this in case it might help troubleshooting my problem:
I have solution for this Open filename phpthumb.functions.php at line 824 - 825 like show bellow ob_start();
if ($fp = fopen($url, 'rb') {
Change to like this ob_start();
$opts = array(
"ssl" => array(
"verify_peer" => false,
"verify_peer_name" => false,
),
);
if ($fp = fopen($url, 'rb', false, stream_context_create($opts))) {
I'm at a loss as to what to do next.