как настроить прокси-сервер squid для получения реального ip-адреса клиента - PullRequest
0 голосов
/ 05 апреля 2020

Мои клиенты http запрашивают go через прокси-сервер Squid для подключения к внутреннему apache веб-серверу. Сценарий php в бэкэнд-веб-сервере получает реальный IP-адрес клиента, как показано ниже:

       if (!empty($_SERVER['HTTP_CLIENT_IP']))
       {
          $ip_address = $_SERVER['HTTP_CLIENT_IP'];
       }
       //whether ip is from proxy
       elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
       {
         $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
       }
       //whether ip is from remote address
       else
       {
         $ip_address = $_SERVER['REMOTE_ADDR'];
       }

Я установил прокси-сервер Squid со следующими параметрами, чтобы получить реальные IP-адреса клиентов:

    via on
    request_header_access  X-Forwarded-For  allow all
    forwarded_for   on
    follow_x_forwarded_for allow localhost

Я ожидал получить реальные ips клиентов через параметр $ _SERVER ['HTTP_X_FORWARDED_FOR']. Однако, когда я проверял значения в клиентских браузерах, только remote_addr имеет значения:

  • http_client_ip: undefined
  • http_x_forwarded_for: undefined
  • remote_addr => прокси-сервер squid IP-адрес

Я подозреваю, что проблема может быть обнаружена в моей настройке прокси-сервера squid, но я не знаю, какие параметры конфигурации Squid мне следует изменить. Ценю вашу помощь заранее.

С уважением

Стив

...