У меня есть сервер, работающий по адресу localhost: 3030, и я могу получить доступ к ряду веб-страниц. Когда я включаю localhost:3030/index.html
, Я получаю веб-страницу. Используя ProxyPassMatch, я пытался перенаправить запрос на example.com/sparql/<something>
к locahost:3030/<something>
Но это не работает. Я использую debian, и его конфигурация следующая:
<VirtualHost *:80>
ServerName example.com
ProxyPass "/sparql" "http://localhost:3030/"
ProxyPassReverse "/sparql" "http://localhost:3030/"
ProxyPassReverseCookieDomain "localhost" "example.com"
....
<VirtualHost *:80>
Когда я отправляю запрос на example.com/sparql/index.html
, страница возвращается, но не возвращаются ни изображения, ни файлы css. Проблема с настройкой?
Зачем использовать ProxyPassMatch
для такого простого обратный прокси? Вы могли бы просто ...
<VirtualHost *:80>
ServerName example.com
...
ProxyPass "/sparql/" "http://localhost:3030/sparql/"
ProxyPassReverse "/sparql/" "http://localhost:3030/sparql/"
ProxyPassReverseCookieDomain "localhost" "example.com"
</VirtualHost>
Затем, если ваш контент находится на http://localhost:3030/
может быть какой-то жестко закодированный контент, который относится к /
вместо того /sparql/
в теле HTML. Хотя можно также изменить содержимое с помощью mod_substitute, что может привести к другим проблемам. Поэтому было бы рекомендовано использовать поддомен вместо дополнительной части пути, например:
<VirtualHost *:80>
ServerName sparql.example.com
...
ProxyPass "/" "http://localhost:3030/"
ProxyPassReverse "/" "http://localhost:3030/"
ProxyPassReverseCookieDomain "localhost" "sparql.example.com"
</VirtualHost>