За последние 24 часа нас посетили 22667 программистов и 1311 роботов. Сейчас ищут 963 программиста ...

file_get_contents() и HTTP/1.1 502 Bad Gateway

Тема в разделе "PHP для профи", создана пользователем supermike, 29 фев 2024.

  1. supermike

    supermike Активный пользователь

    С нами с:
    4 фев 2015
    Сообщения:
    8
    Симпатии:
    0
    Имеется 3 сервера: open server, docker, и обычная установка на ubuntu.
    Так вот, на все серверах, кроме docker, запрос
    PHP:
    1. $res = file_get_contents('http://www.1c-bitrix.ru/download/files/scripts/bitrix_server_test.php');
    2. print_r($res);
    возвращает ответ, как и положено. А вот на docker-окружении я получаю ошибку: failed to open stream: HTTP request failed! HTTP/1.1 502 Bad Gateway

    При этом open server и docker это одна и та же машина.

    И самое интересное, Https запрос возвращает все как надо. Curl запрос тоже без проблем отрабатывает. Ошибка возникает только при использовании file_get_contents().

    Проверил заголовки, которые улетают на сервер, они одинаковые на всех серверах:
    Код (Text):
    1. Connection: close
    2. X-Real-Ip: 192.168.1.1
    3. Host: 1c-bitrix.ru
    Видимо, какие-то настройки в php.ini влияют на то, какой ответ я получаю? Есть идеи?
     
    #1 supermike, 29 фев 2024
    Последнее редактирование: 29 фев 2024
  2. supermike

    supermike Активный пользователь

    С нами с:
    4 фев 2015
    Сообщения:
    8
    Симпатии:
    0
    В общем, если прописать user_agent в настройках, bitrix начинает отвечать, но с очень большой задержкой. Странно что это повлияло, ведь
    на других серверах эта настройка никак не выставлена и пустая.
     
  3. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    899
    Симпатии:
    143
    За битрикс и, тем более, купивший их 1с, не шарю, но это какая-то дичь, может быть запрос надо по https отправлять, может сервак, с которого запрос делается, в полуЧС у них состоит, рекомендую в СП сервиса обратиться.
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.084
    Симпатии:
    1.239
    Адрес:
    там-сям
    по-моему очевидно что это проблема резолвинга имени.
    пропиши домен в /etc/hosts внутри контейнера