Задать вопрос
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Не работает Curl+Proxy на сервере?

Использую Yii2 httpclient
$client = new Client(['transport' => 'yii\httpclient\CurlTransport']);
        $response = $client->createRequest()
            ->setMethod('GET')
            ->setUrl($url)
            ->setHeaders([
                'Connection' => 'keep-alive',
                'sec-ch-ua' => '"Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"',
                'Accept' => 'application/json, text/javascript, */*; q=0.01',
                'X-Requested-With' => 'XMLHttpRequest',
                'sec-ch-ua-mobile' => '?0',
                'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
                'Sec-Fetch-Site' => 'same-origin',
                'Sec-Fetch-Mode' => 'cors',
                'Sec-Fetch-Dest' => 'empty',
                'Accept-Language' => 'ru,en-US;q=0.9,en;q=0.8'
            ])
            ->setOptions([
                CURLOPT_PROXY => $this->proxy->getAddress(),
                CURLOPT_PROXYUSERPWD => $this->proxy->getLogin() . ":" . $this->proxy->getPassword(),
            ])
            ->send();


Вот код запроса. На локалке все работает: Openserver php 7.2
на серве phpfpm 7.2
но там не работает и выдаёт следующую ошибку:
Файл: vendor/yiisoft/yii2-httpclient/src/CurlTransport.php
Curl error: #56 - Received HTTP code 502 from proxy after CONNECT


В чем может быть проблема ?
Прокси мобильные от onlinesim.
Методы $this->proxy->getAddress(), $this->proxy->getLogin() и $this->proxy->getPassword() выдают валидные данные.
  • Вопрос задан
  • 762 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
vitaly_74
@vitaly_74
https://success.outsystems.com/Support/Enterprise_...
Код ответа HTTP 502 - неверный сервер шлюза указывает на то, что сервер, выступая в качестве шлюза или прокси, получил недопустимый ответ от вышестоящего сервера. В типичных производственных сценариях перед сервером (-ами) находятся обратный прокси-сервер или балансировщики нагрузки. Представьте, что клиент отправил запрос на Сервер. Однако клиент не может сделать это напрямую, поэтому он подключается к прокси, устанавливая соединение client> proxy. Затем прокси создает прокси-сервер подключения. Ошибка HTTP 502 - неверный шлюз возникает в следующих случаях:
Время ожидания прокси-сервера истекло до завершения запроса.
Если соединение прокси> сервер падает.
Когда ответ от сервера недействителен

я более склоняюсь к тому, либо сервер долго думает. т.е. обрабатывает долго какой то запрос. на локалке может работать, только потому что базы на локальном и проде отличаются и информация разная, и следовательно может произойти где то зацикливание, либо наоборот долгая обработка информации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽