Problema com scripts php fopen locais retornando 404 no CentOS

1

Estou tendo alguns problemas hoje com scripts php em execução em nosso servidor que usam file_get_contents ou funções fopen semelhantes. Eu acho que isso é um erro de openssl ou firewall, mas eu sou muito novo no material do administrador do servidor, então eu preciso de alguma ajuda para depurá-lo. Eu estava mexendo com iptables e csf firewall configurações e tentando configurar o sftp usando proftpd quando de repente parou de funcionar.

Um teste simples: (este arquivo gif carrega bem pelo navegador)

echo file_get_contents("https://www.this-domain.com/logo.gif");
//...failed to open stream:HTTP request failed! HTTP/1.1 404 Not Found...

//However both of the following work absolutely fine:
//a local request to the same file:
echo file_get_contents("/home/user/domains/this-domain.com/private_html/media/logospin.gif");
//an external absolute url:
echo file_get_contents("https://www.google.com/");

No php.ini, eu tenho: allow_url_fopen = on & extension=php_openssl.dll on. Alguma idéia?

    
por cronoklee 10.07.2015 / 23:02

1 resposta

0

O problema era, na verdade, um problema do DNS. O file_get_contents() estava circulando de forma bizarra por meio de nossos servidores de nomes de backup (ns3 & ns4) por algum motivo, enquanto os navegadores estavam roteando pelos servidores de nomes primários (ns1 & ns2). Ao contrário das primárias, os backups apontam para um servidor diferente, que ainda não possui arquivos idênticos - daí o 404 incomum.

Eu tinha configurado esses servidores de nomes de backup apenas algumas horas antes de mexer com o firewall, etc. e, quando eles se propagaram, parecia que os comandos ssh tinham tirado file_get_contents() offline.

    
por 11.07.2015 / 14:17