Прошу прощения, отдельный server для телеграма не нужен, можно напрямую в map задавать порт контейнера. И у меня никак не получается получить реальные IP для сайтов, только 127.0.0.1. Реальные IP я вижу только в логах из stream, но там слишком базовая информация. И сами веб-сервисы по-прежнему не видят реальных IP.
Я новичок в nginx, но нейронка мне посоветовала разделить server отдельно для тг и отдельно для сайтов:
stream {
preread_timeout 5s;
map $ssl_preread_server_name $backend_dispatcher {
1c.ru 127.0.0.1:10443; # Порт для Telegram
default 127.0.0.1:10444; # Порт для ваших сайтов
}
server {
listen 443;
proxy_pass $backend_dispatcher;
ssl_preread on;
proxy_connect_timeout 5s;
proxy_timeout 1h; # Телеграм любит долгие сессии
}
# Промежуточный узел для Telegram (БЕЗ proxy_protocol)
server {
listen 127.0.0.1:10443;
proxy_pass 127.0.0.1:1443; # Ваш докер
}
# Промежуточный узел для сайтов (с proxy_protocol)
server {
listen 127.0.0.1:10444;
proxy_protocol on;
proxy_pass 127.0.0.1:4443; # Внутренний порт Nginx HTTP
}
}
Соответственно, в http-секциях сайтов:
listen 4443 ssl proxy_protocol;
Не знаю, может быть конфиг избыточен, но как будто всё работает. Единственное, в логах telemt (использую его сейчас) не видно IP-адресов клиентов, там вместо них адрес докер-бриджа, по идее можно сделать "network_mode: host" в docker-compose.yml, но тогда будут 127.0.0.1 вместо адресов клиентов (не проверял), пока забил, в логах nginx есть айпишники, за загрузкой канала можно следить в iftop, mtg из статьи не пробовал еще.
Прошу прощения, отдельный server для телеграма не нужен, можно напрямую в map задавать порт контейнера. И у меня никак не получается получить реальные IP для сайтов, только 127.0.0.1. Реальные IP я вижу только в логах из stream, но там слишком базовая информация. И сами веб-сервисы по-прежнему не видят реальных IP.
Я новичок в nginx, но нейронка мне посоветовала разделить server отдельно для тг и отдельно для сайтов:
Соответственно, в http-секциях сайтов:
Не знаю, может быть конфиг избыточен, но как будто всё работает. Единственное, в логах telemt (использую его сейчас) не видно IP-адресов клиентов, там вместо них адрес докер-бриджа, по идее можно сделать "network_mode: host" в docker-compose.yml, но тогда будут 127.0.0.1 вместо адресов клиентов (не проверял), пока забил, в логах nginx есть айпишники, за загрузкой канала можно следить в iftop, mtg из статьи не пробовал еще.
Подскажите пожалуйста, трафик неотличим (условно, понятное дело) ДО или ПОСЛЕ прокси? А то я не очень разбираюсь как работает fake tls.