вот мой обратный прокси-сервер apache conf:
ProxyHTMLEnable On
ProxyHTMLExtended On
SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLInterp On
ProxyPass / http://10.208.202.2:8762/abc/
ProxyPassReverse / http://10.208.202.2:8762/abc/
ProxyPreserveHost On
RequestHeader set Authorization "Basic"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Дело в том, что когда я захожу / на свой сервер, какой-то контент отсутствует. Например, css, некоторые .css должны быть GET из /something/css/wro.css Как я предполагаю, в этом случае контент не загружается, потому что прокси-сервер фактически пытается получить его из /abc/something/css/wro.css что неверно, и он возвращает 404. Итак, я попытался добавить:
ProxyPass /something http://10.208.202.2:8762/something/
ProxyPassReverse /something http://10.208.202.2:8762/something/
Но это все еще не помогает, все еще отсутствует тот же контент css. Также я не считаю хорошей идеей добавление каждого местоположения на сервере в конфигурацию вручную. Я добавил мод прокси-html, но, похоже, он здесь не работает. Любые предложения, что я могу сделать, чтобы эта работа работала без добавления записи proxypass для каждого местоположения на сервере?
Но это все еще не помогает, все еще отсутствует тот же контент css
Apache обрабатывает директивы ProxyPass в том порядке, в котором они объявляются, и выигрывает первый матч. Так что сначала ставьте более конкретные совпадения
ProxyPass /something http://10.208.202.2:8762/something/
ProxyPassReverse /something http://10.208.202.2:8762/something/
ProxyPass / http://10.208.202.2:8762/abc/
ProxyPassReverse / http://10.208.202.2:8762/abc/
это необходимый порядок, иначе /something
никогда не совпадает.
Любые предложения, что я могу сделать, чтобы эта работа работала без добавления записи proxypass для каждого местоположения на сервере?
По сути, если вы хотите, чтобы обслуживалась другая файловая структура, отличная от той, которая присутствует в проксируемом месте, то обычно вам придется писать ProxyPass для каждого исключения по умолчанию.
Если вы пытаетесь достичь http://10.208.202.2:8762/abc/index.html
страница по умолчанию на вашем веб-сайте, вам может быть лучше сделать это с перенаправлением, иначе это испортит относительные ссылки вашей страницы. Что-то вроде этого должно работать;
RedirectMatch ^/$ /abc/