Že se cURL error ve WordPress cronu netýká chybné konfigurace firewallu nebo fail2ban, lze lehce vyloučit například spuštěním aktualizace cron naplánovaných událostí pomocí wp-cli
sudo -u www-data wp cron event run --due-now --path='/var/www/domena1/'
Když wp-cli neselže no ze serveru nelze zavolat na něm hostovanou doménu
curl domena1.cz
kde toto končí obvykle hláškou
curl: (6) Could not resolve host: domena1.cz nebo cURL error 7..
nefunguje (DNS) překlad..
Obsah
cURL error 7: Failed to connect: Connection refused
v překladu: chyba cURL 7: Nepodařilo se připojit: Připojení bylo odmítnuto je obvykle považována za trochu záhadnou chybu. Často se uvádí, že může souviset s konfigurací protokolu HTTPS, jako problém s omezením přístupu, problém s připojením k síti, firewallem nebo fail2ban konfigurací. U multihost linux apache či nginx hostingů je často chyba podstatně jednodušší.
K tomu aby se cURL připojil k doméně potřebuje tak jako každé volání DNS překlad. Každý WordPress cron volání „počítá“ se sólo instalací nebo vlastní multisite implementací. Neporadí si ale s VPS multihost, to jest situací kde jsou na jednom linuxovém serveru hostovány stovky WordPress instalací. Řešením je úprava každého volání cron pomocí cURL kde stačí doplnit volbu –resolve.
/etc/host
Řešením pro nižší počet hostovaných WordPress domén je zapsat každou doménu do /etc/hosts
127.0.0.1 localhost 127.0.1.1 jmeno.serveru.cz domena1.cz domena2.cz jmeno # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 1.2.3.4 jmeno.serveru.cz domena1.cz domena2.cz jmeno
Lokální DNS
Když na serveru běží vlastní DNS stačí zduplikovat A záznamy IP adresy 1.2.3.4 a přiřadit jej rovněž k IP adrese 127.0.0.1
Užitečné
Příkazy wp-cli nástavby WordPress
Debian Roundcube webmail, řešení chyby 200 SMTP