bioid
@bioid

Nginx proxy_protocol?

Дикий Интернет ---> Nginx proxy ---> Nginx вэбсервер (10.0.5.2).
Пытаюсь заставить работать proxy_protocol (вместо remote_addr)
Конфиг Nginx proxy:
server {
        listen       80;
        location / {
		proxy_set_header X-Real-IP $proxy_protocol_addr;
		proxy_set_header X-Forwarded-For $proxy_protocol_addr;
		proxy_pass http://10.0.5.2:80;
        }
    }


Конфиг Nginx вебсервера:
server {
	listen 80 proxy_protocol;
	real_ip_header proxy_protocol;
	set_real_ip_from 203.0.113.1/32;
	set_real_ip_from 10.0.5.0/29;


На бэкенде (Nginx вебсервер) в логах получаю ошибку:
while reading PROXY protocol, client: 10.0.5.1, server: 0.0.0.0:80
2023/04/26 21:35:32 [error] 803#803: *5 broken header: "GET / HTTP/1.0

Если отключить proxy_protocol и заменить в обоих конфигах на X-Real-IP, то всё работает.
Что я делаю не так c proxy_protocol, подскажите, пожалуйста?
  • Вопрос задан
  • 512 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
А документацию читать - не пробовали? Ну так, в виде исключения из правила "городи как вздумается, и пофиг"?

На проксирующем Nginx обязательна к указанию опция proxy_protocol on;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы