Ситуация следующая.. есть сотни сайтов, проксирует их nginx. В каждой секции server подключен файл, дабы была возможность быстро прописывать конфиги для всех сразу.. До сей поры прописывал различные условия, всё было хорошо... пока не наткнулся на location и proxy_pas.
Дело в том, что proxy_pas требует прописать бекенд. В моем случае для сотен сайтов прописаны разные бекенды в виде IP-адресов. Эти IP, например, совпадают с listen в секции server. Если значение proxy_pas не совпадает с listen, то выдает 404 для указанного location.
Каким образом можно автоматически определить backend соответствующий сайту..может как-то из listen значение IP можно вытащить..?
Вот код, который инклудится к каждому сайту:
location ~ ^/(wp-admin|wp-login\.php|admin|administrator) {
limit_req zone=wp burst=4 nodelay;
proxy_pass http://IP:81;
proxy_redirect http://IP/ /;
proxy_set_header Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}