Задать вопрос
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() выдают валидные данные.
  • Вопрос задан
  • 685 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
vitaly_74
@vitaly_74
https://success.outsystems.com/Support/Enterprise_...
Код ответа HTTP 502 - неверный сервер шлюза указывает на то, что сервер, выступая в качестве шлюза или прокси, получил недопустимый ответ от вышестоящего сервера. В типичных производственных сценариях перед сервером (-ами) находятся обратный прокси-сервер или балансировщики нагрузки. Представьте, что клиент отправил запрос на Сервер. Однако клиент не может сделать это напрямую, поэтому он подключается к прокси, устанавливая соединение client> proxy. Затем прокси создает прокси-сервер подключения. Ошибка HTTP 502 - неверный шлюз возникает в следующих случаях:
Время ожидания прокси-сервера истекло до завершения запроса.
Если соединение прокси> сервер падает.
Когда ответ от сервера недействителен

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

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

Похожие вопросы