Назад | Перейти на главную страницу

Прокси-сервер Apache должен повторить попытку подключения к домену с несколькими IP-адресами

У меня есть прокси-сервер под управлением Apache 2.4. Он используется клиентами для подключения к fcm.googleapis.com.

Конфигурация довольно проста:

Listen 8099

ServerTokens Prod
ServerSignature Off

<VirtualHost *:8099>

    ProxyRequests on
    ProxyVia off
    ProxyTimeout 30

    <Proxy *>
        Require ip XXX
        Require ip YYY
        Require local
    </Proxy>

    LogLevel warn
    ErrorLog "logs/forwardproxy_error_log"
    CustomLog "logs/forwardproxy_access_log" combined

    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^OPTIONS
    RewriteRule .* - [F]

</VirtualHost>

fcm.googleapis.com отображается на несколько IP-адресов.

С машины, подключенной к Интернету:

fcm.googleapis.com is an alias for googleapis.l.google.com.
googleapis.l.google.com has address 216.58.207.234
googleapis.l.google.com has address 172.217.20.42
googleapis.l.google.com has address 216.58.207.202
googleapis.l.google.com has address 172.217.22.170
googleapis.l.google.com has address 172.217.21.170
googleapis.l.google.com has address 216.58.211.10
googleapis.l.google.com has address 172.217.21.138
googleapis.l.google.com has IPv6 address 2a00:1450:400f:806::200a

По некоторым причинам (связанным с сетью / брандмауэром) некоторые из указанных выше IP-адресов недоступны с моего прокси-сервера Apache (ex. 172.217.0.0/16), а некоторые достижимы (ex. 216.58.0.0/16). Однако, учитывая, что сервис позади fcm.googleapis.com все еще должен быть доступен, поскольку некоторые IP-сегменты остаются доступными, не имеет смысла, что прокси-клиенты будут получать тайм-ауты соединения.

curl и wget тесты:

[user@server ~]$ wget https://fcm.googleapis.com
--2019-08-16 11:50:30--  https://fcm.googleapis.com/
Connecting to proxyip:8099... connected.
Unable to establish SSL connection.
[user@server ~]$ curl -X GET https://fcm.googleapis.com
curl: (35) TCP connection reset by peer
[ansible@server ~]$

Обновление 1: IP-адрес и порт прокси-сервера правильно настроены на этих клиентах (например, export http_proxy=http://proxyip:8099; export https_proxy=$http_proxy). Я знаю, что соединения достигают прокси, потому что доступны некоторые другие сайты (например, Facebook).

Итак, мой вопрос: как я могу обеспечить подключение к fcm.googleapis.com не подведет? Где это исправить? На прокси-сервере Apache (и если да, то как?) Или на прокси-клиентах?

Любые предложения будут очень признательны. Спасибо!