Название немного кликбейтовое, но задача была такова:
- проксирова контент с сервера за фронтом по передаче имени в url, например: запросы на wss://frontend.local/console/backend1.local/ticket/dynamic-ticketid должны попадать на wss://backend1.local:443/ticket/dynamic-ticketid. Всё бы ничего, но для сайтов как на стороне фронтенда так и на беке есть свои реврайты и они не должны пострадать. Решается подобная задачка при помощи директивы ProxyPassMatch.
ProxyPassMatch "^/console/(.*)/ticket/(.*)$" "wss://$1.local:443/ticket/$2"
В случае с необходимости в обратном прокси вопрос можно решить тоже:
ProxyPassMatch "^/console/(.*).local/(.*)$" "https://$1.local/$2"
ProxyPassReverse "^/console/(.*).local/(.*)$" "https://$1.local/$2"
Не забываем, что если у нас на backend используется ssl - то желательно ещё об этом упомянуть в конфиге и, по необходимости, отключить проверку сертификата того же backend:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off