Существует 5 пар ENV:
PROXY_HOST1=192.168.88.61:10001
PROXY_HOST2=192.168.88.61:10002
PROXY_HOST3=192.168.88.61:10003
PROXY_HOST4=192.168.88.61:10004
PROXY_HOST5=192.168.88.61:10005
PROXY_PASS1=http://192.168.88.59
PROXY_PASS2=http://192.168.88.59
PROXY_PASS3=http://192.168.88.59
PROXY_PASS4=http://192.168.88.59
PROXY_PASS5=http://192.168.88.59
Используя сценарий оболочки, их необходимо передать в раздел конфигурации Nginx:
location /___PROXY_HOST1___ {
proxy_pass '___PROXY_PASS1___';
}
location /___PROXY_HOST2___ {
proxy_pass '___PROXY_PASS2___';
}
location /___PROXY_HOST3___ {
proxy_pass '___PROXY_PASS3___';
}
location /___PROXY_HOST4___ {
proxy_pass '___PROXY_PASS4___';
}
location /___PROXY_HOST5___ {
proxy_pass '___PROXY_PASS5___';
}
Деликатно решил проблему следующим образом:
#!/bin/bash
### Proxy pass and upstream name replacment part
sed -i "s?___PROXY_PASS1___?${PROXY_PASS1}?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_PASS2___?${PROXY_PASS2}?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_PASS3___?${PROXY_PASS3}?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_PASS4___?${PROXY_PASS4}?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_PASS5___?${PROXY_PASS5}?g" /etc/nginx/nginx.conf
### Server part replace
sed -i "s?___PROXY_HOST1___?$PROXY_HOST1?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_HOST2___?$PROXY_HOST2?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_HOST3___?$PROXY_HOST3?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_HOST4___?$PROXY_HOST4?g" /etc/nginx/nginx.conf
sed -i "s?___PROXY_HOST5___?$PROXY_HOST5?g" /etc/nginx/nginx.conf
Но необходимо было передать 4 или 3 пары ENV PROXY_PATH / HOST вместо 5, и Nginx может украсть старт и выполнить задание.
Есть ли возможность черезцикл?Или, возможно, с генерацией блока location /
на основе указанных переменных.