Рейтинг:0

Маршруты обратного прокси-сервера Apache с аналогичным частичным URL-адресом

флаг br

У меня есть эта простая настройка обратного прокси-сервера в моем контейнере докеров (apache), каждый из которых сопоставлен с другим микросервисом с двумя разными контейнерами докеров.

#serviceOne 
ProxyPass /abc/xyz/ http://serviceOne:8080/abc/xyz/ Keepalive=On
ProxyPassReverse /abc/xyz/ http://serviceOne:8080/abc/xyz/


#servicetwo 
ProxyPass /abc/xyz/pqr/ http://servicetwo:8080/abc/xyz/pqr/ Keepalive=On
ProxyPassReverse /abc/xyz/pqr/ http://servicetwo:8080/abc/xyz/pqr/

При этом я не могу достичь какого-либо относительного маршрута во второй службе, такой как /abc/xyz/pqr/testprocess недоступен, хотя он работает правильно, когда сохраняется только один обратный прокси-маршрут.

Рейтинг:1
флаг br

Это было совершенно очевидно, и я действительно мог понять это, формулируя этот вопрос :)

в таких случаях важен порядок, в котором размещаются эти сопоставления.

#servicetwo 
ProxyPass /abc/xyz/pqr/ http://servicetwo:8080/abc/xyz/pqr/ Keepalive=On
ProxyPassReverse /abc/xyz/pqr/ http://servicetwo:8080/abc/xyz/pqr/

#serviceOne 
ProxyPass /abc/xyz/ http://serviceOne:8080/abc/xyz/ Keepalive=On
ProxyPassReverse /abc/xyz/ http://serviceOne:8080/abc/xyz/

Простое изменение порядка этих двух сопоставлений решило проблему.

Хотя это было совершенно очевидно, я не смог найти ничего об обратном порядке URL-адресов прокси-сервера в документации Apache.

Даже Google не смог найти никакого решения, или, возможно, я не смог правильно сформулировать вопрос.

Если бы другие могли добавить к этому ответу больше технических объяснений, это было бы здорово.

РЕДАКТИРОВАТЬ: об этом есть четкое примечание в документации по адресу https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#:~:text=ordering%20or%20override.-,Ordering%20ProxyPass%20Directives,URL.%20Note%20that%20there%20is% 20некоторые%20отношения%20с%20работники%20обмен,-.

флаг in
Цитата из [документации ProxyPass](https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass): «Настроенные правила ProxyPass и ProxyPassMatch проверяются в порядке настройки. Выигрывает первое совпадающее правило. Поэтому обычно вы должны сортировать конфликтующие правила ProxyPass, начиная с самых длинных URL-адресов. В противном случае более поздние правила для более длинных URL-адресов будут скрыты любым более ранним правилом, использующим начальную подстроку URL-адреса. Обратите внимание, что существует некоторая связь с совместным использованием рабочих процессов. Они даже обвели его красной рамкой.
флаг br
Я пропустил это. спасибо @GeraldSchneider

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.