Рейтинг:0

Обратный прокси не показывает IP клиента

флаг cn
xJR

Я настроил обратный прокси-сервер, и все работает нормально, однако похоже, что nginx неправильно регистрирует IP-адреса удаленного посещения и регистрирует все как поступающее с моего сервера WAN IP, что не будет проблемой, однако одна из служб, которые я запускаю это shlink, которому нужно передать удаленный IP-адрес для регистрации местоположений

Я запускаю nginx через докер SWAG в docker compose, если это помогает устранять неполадки.

Ниже приведен пример всех удаленных запросов различных устройств, и все они регистрируются с серверов WAN IP.

202.63.68.112 - - [19/May/2022:10:28:57 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:28:59 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 7302130 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:01 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:03 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 5045234 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:03 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 14906904 "-" "Mozilla/5.0 (Linux; Android 12 ; SM-G981U1) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/101.0.4951.61 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:05 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:06 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 5041138 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:08 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:10 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 6204402 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:10 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:12 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 65536 "-" "Mozilla/5.0 (iPhone; процессор iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:12 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 3947506 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 22035471 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:22 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:23 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 2923535 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:23 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:23 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:23 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:23 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:24 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:24 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"
202.63.68.112 - - [19/May/2022:10:29:24 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 21001752 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 (например, Mac OS X) AppleWebKit/605.1.15 (KHTML, например Gecko) Версия/15.4 Mobile/15E148 Safari/604.1"
202.63.68.112 - - [19/May/2022:10:29:26 +1000] "GET /index.php/s/dGZegTxeeeMmro2/download HTTP/2.0" 206 4140047 "-" "Mozilla/5.0 (Linux; Android 12 ; SAMSUNG SM-G981U1) AppleWebKit/537.36 (KHTML, как Gecko) SamsungBrowser/17.0 Chrome/96.0.4664.104 Mobile Safari/537.36"

Я настроил X для переадресации в конфигурации ниже:

#### proxy.conf
---------------
# Настройки прокси-соединения
proxy_buffers 32 4k;
proxy_connect_timeout 240;
proxy_headers_hash_bucket_size 128;
proxy_headers_hash_max_size 1024;
прокси_http_версия 1.1;
proxy_read_timeout 240;
proxy_redirect http://$схема://;
proxy_send_timeout 240;

# Кэш прокси и настройки файлов cookie
proxy_cache_bypass $cookie_session;
#proxy_cookie_path / "/; Безопасный"; # включайте на свой страх и риск, может сломать некоторые приложения
proxy_no_cache $cookie_session;

# Настройки заголовка прокси
proxy_set_header Соединение $connection_upgrade;
proxy_set_header Ранние данные $ssl_early_data;
proxy_set_header Хост $host;
proxy_set_header Прокси "";
proxy_set_header Обновить $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl включен;
proxy_set_header X-Real-IP $remote_addr;


#### домен.субдомен.conf
---------------

сервер {
    слушать 443 ssl;
    слушать [::]:443 ssl;

    имя_сервера домен.au;

    включить /config/nginx/ssl.conf;

    client_max_body_size 0;

    место расположения / {
        включить /config/nginx/proxy.conf;
        включить /config/nginx/resolver.conf;
        установить shlink $upstream_app;
        установить $upstream_port 8080;
        установить $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }


}

Есть идеи, что я сделал не так?

флаг us
Rob
Ожидается, что посетитель сайта отправляет запрос на ваш обратный прокси-сервер, а обратный прокси-сервер делает новый запрос на внутренний сервер. Обычно обратный прокси-сервер будет включать IP-адрес посетителя в заголовок, например «X-forwarded-for», который затем можно использовать в бэкэнде. См. также http://nginx.org/en/docs/http/ngx_http_realip_module.html.
флаг cn
xJR
@Rob Большое спасибо, что нашли время ответить, в прикрепленных журналах вы имеете в виду X-Forwarded-for в строке 24? Следует ли настроить его по-другому, чтобы разрешить клиентский IP-адрес? Извините, я очень новичок в этом, поэтому пытаюсь прочитать об этом
djdomi avatar
флаг za
вставьте свои журналы, связанные с вопросом, не используйте никакие сервисы nopaste
флаг cn
xJR
@djdomi — я обновил пост, добавив соответствующую информацию — спасибо. У вас есть идеи, как я могу решить?
djdomi avatar
флаг za
@xJR Вы изучили документацию, которую предложил Роб? При вставке конфигураций используйте каждую из них в виде отдельного блока и указывайте полный путь, так как это обязательная информация. я бы поместил прокси.конф в основную директорию и включил его в апрт сервера, напомню, что каждую серверную часть надо видеть как отдельный экземпляр и их форсировать, ты это не настраивал.
флаг cn
xJR
я думаю, что, возможно, написал этот пост запутанным образом, но моя настоящая проблема заключается в том, что сам прокси-сервер не получает удаленный IP-адрес подключающегося человека и, следовательно, не может передать правильный «реальный IP-адрес» службам, проксируемым. У меня есть x-forwarded-for, включенный в файл proxy.conf в сообщении.

Ответить или комментировать

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