Доступ запрещен php curl в AWS Elastic Beanstalk

У меня есть PHP-приложение, которое использует curl для доступа к внешнему URL и анализа содержимого страницы. Мой код отлично работал на локальном хосте, но при его запуске на сервере выдается сообщение об ошибке:

Доступ закрыт

У вас нет разрешения на доступ «http://www.example.com» на этом
сервер. Ссылка # 18.aec67bc8.1417892829.438558f

Мой код

$cookie_file = '';
$post_fields = 'id=1';
$agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
curl_setopt($ch, CURLOPT_USERAGENT,$agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

$output = curl_exec($ch);

Любая идея?

0

Решение

Диапазоны IP-адресов EC2 часто блокируются для сканирования некоторых сайтов, в том числе StackOverflow.

1

Другие решения

Код работает для меня. Возможно, вам нужно открыть порт 80 на вашем экземпляре AWS. Вы можете сделать это, отредактировав группу безопасности, связанную с экземпляром, созданным Elastic Beanstalk.

0