Включение/Отключение proxy_protocol в зависимости от конкретного домена
Ищу способ, включать/отключать директиву proxy_protocol в зависимости от конкретного хоста. if, в stream не работает.
stream {
upstream server3 {
server 192.168.44.12:443;
}
upstream server2 {
server 192.168.44.11:443;
}
upstream server1 {
server 192.168.44.10:443;
}
map $ssl_preread_server_name $upstream {
hostnames;
.srv3.site.com server3; // должен быть proxy_protocol off;
.srv2.site.com server2; // должен быть proxy_protocol on;
.srv1.site.com server1; // должен быть proxy_protocol on;
}
server {
listen 443;
listen [::]:443;
ssl_preread on;
proxy_pass $upstream;
proxy_protocol on;
}
}
Ответы (1 шт):
Автор решения: Alexey Ten
→ Ссылка
Можно попробовать что-то такое:
map $ssl_preread_server_name $upstream {
hostnames;
.srv3.site.com 127.0.0.1:4443; // должен быть proxy_protocol off;
.srv2.site.com server2; // должен быть proxy_protocol on;
.srv1.site.com server1; // должен быть proxy_protocol on;
}
server {
listen 443;
listen [::]:443;
ssl_preread on;
proxy_pass $upstream;
proxy_protocol on;
}
server {
listen 127.0.0.1:4443 proxy_protocol;
proxy_pass server3;
proxy_protocol off;
}