Как принять проксированный https с нескольких источников, в том числе с CloudFlare ?

Vladislav Prodan universite на ukr.net
Вс Апр 1 22:11:59 UTC 2018


Здравствуйте.

Subj.
nginx/1.12.1

На основном сервере соорудил такой конфиг:

server {
	server_name .domain.com ;
	...
	listen 443 ssl;
	listen 444 ssl proxy_protocol;
	...
	# Real IP from CloudFlare
	include /etc/nginx/cloudflare.conf;
        real_ip_header CF-Connecting-IP;
	...
	set_real_ip_from 1.1.1.1/32;
	real_ip_header proxy_protocol;
	...

}

Проблема в том, что у CloudFlare одно значение real_ip_header, а для обычной tcp прокси (haproxy) - другое значение. 

Попытался такой вставить блок,
if ($remote_addr = 1.1.1.1) {
     set_real_ip_from 1.1.1.1/32;
     real_ip_header proxy_protocol; 
}
Но тут можно использовать только редиректы и real_ip_header нельзя переназначить...

Подскажите решение.

--
 Vladislav V. Prodan
 System & Network Administrator
 support.od.ua


Подробная информация о списке рассылки nginx-ru