все. У меня есть два экземпляра докера с обратным прокси на моем сервере, я могу получить доступ к каждому экземпляру с https://my.sub.domain/foo/docker и https://my.sub.domain/bar/docker. По завершении своей задачи оба докера хотят перенаправить на https://my.dub.domain/docker/result.
Я могу заставить один из экземпляров докера отображать страницу завершения с помощью перезаписи. Теперь я пытаюсь сделать свою перезапись условной, исходя из того, из какого подкаталога (/ foo / docker или / bar / docker) поступил запрос на / docker / result.
Вот мой конфиг для справки:
============== Экземпляр Docker 1 ==============
location /foo/docker {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
rewrite /gen(/.*) $1 break;
proxy_pass http://host:port1/docker;
#ProxyPassReverse http:/host:port1/docker;
}
============== Экземпляр Docker 2 ==============
location /bar/docker {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
rewrite /mp3(/.*) $1 break;
proxy_pass http://host:port2/docker;
#ProxyPassReverse httP://host:port2/docker;
}
============== Страница результатов Docker ==============
Это работает для отображения результата foo / docker, даже когда я хотел bar.
Я хочу сделать условие, чтобы выбрать либо foo, либо bar.
location /docker/result {
rewrite (.*)/foo$1;
}
=============================================== =
Фактически оба докера будут использовать один и тот же URL для результатов, при этом источник запроса страницы результатов решает, какая перезапись происходит.
Я думал сделать что-то вроде
if ($Request_Uri ~ /foo/){
#do the thing
}
if ($Request_Uri ~ /bar/){
#do some other thing
}
но я не смог найти встроенную переменную, которая содержала бы URI источника запроса.