У меня есть веб-сервер, который обслуживает контент для сайта, назовем его "domain.com". На этом сайте у меня есть несколько сценариев PHP, которые обслуживают контент. Когда кто-то заходит на этот сайт, все работает.
Если я запрашиваю из PHP (с помощью Curl / Fopen) URL-адрес моего собственного сайта (я назову "domain.com/api/something.php?x=y", я получаю тайм-аут что с сайтом не удалось связаться. Это происходит только тогда, когда я запрашиваю этот URL-адрес через PHP, а не при вызове через CLI. Когда я просматриваю URL извне, это работает.
На сервере я могу использовать curl или wget, и это работает. Я могу использовать PHP для запроса страниц, размещенных на внешнем сервере (google.com и т. Д.), Но я не могу сделать это со страницами, размещенными в моей конфигурации lighttpd на том же сервере.
Это кому-нибудь знакомо? Есть ли известные параметры, которые могут противоречить этому?
ДОГАДАТЬСЯ! По умолчанию Lighttpd на FreeBSD настроен следующим образом:
fastcgi.server = ( ".php" =>
( "php-local" =>
(
"socket" => socket_dir + "/php-fastcgi-1.socket",
# "bin-path" => server_root + "/cgi-bin/php5",
"bin-path" => "/usr/local/bin/php-cgi",
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
),
Ключевая линия:
"max-procs" => 1,
Если вы измените его, скажем, на 50, он будет работать нормально. Я предполагаю, что ему нужно отключить другой процесс или что-то еще, чтобы сделать запрос CURL, и не может, потому что max-procs по умолчанию равен 1.
Измените его, перезапустите Lighttpd, работает отлично. Да!
Может ли ваш собственный ящик правильно распознавать доменное имя, которое вы используете? Если вы запрашиваете файлы с www.domain.com, можете ли вы ping 'www.domain.com' от себя - разрешает ли он правильный внешний IP-адрес, который будет получен, когда вы ping 'www.domain.com' из внешнего соединения .
Я думаю:
1) Имя машины имеет псевдоним в вашем / etc / hosts как 127.0.0.1, и ваш веб-сервер не привязан к адресу обратной связи.
2) Что насчет балансировщиков нагрузки, используете ли вы какие-либо из них, которые могут вызвать проблемы с маршрутизацией при попытке маршрутизации к себе
Андрей