Как сделать Apache проверку на реферер по всем запросам? - PullRequest
0 голосов
/ 23 января 2020

Я застрял, пытаясь заставить apache проверять реферер каждого запроса, чтобы перенаправить / переписать его на указанный c порт. В моей среде apache настроен на прослушивание портов 80 и 443 и перенаправление запроса на указанные c порты в зависимости от запрошенного URI.

Я добавил новый веб-сервер в эту среду на порт 8080, который будет целью, когда найден путь /websession. Это происходит в файле конфигурации с:

ProxyPass /websession http://127.0.0.1:8080/websession
ProxyPassReverse /websession http://127.0.0.1:8080/websession

Проблема в том, что некоторые запросы не приходят с /websession в URI, но я проверял и HTTP-реферер в заголовках, всегда иметь это (это происходит из-за. html абсолютных путей поиска файлов, которые я не могу контролировать)

Я пытаюсь Apache проверить на реферере, перед любой маршрутизацией (как ProxyPass выше ) случается, для /websession

Пока, читая документы, мне удалось прийти с этим:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*\/websession.* [NC]
RewriteRule "(.*)" "http://%{HTTP_HOST}/websession%{REQUEST_URI}"

, который, кажется, не работает, потому что я его поставил на неправильной позиции, или условие правила неверно.

Кроме того, у меня проблемы с активацией активации журналов для этого, возможно, условие никогда не активируется, и поэтому журнал никогда не появляется.

Может быть, есть и лучшее решение, кроме этого, есть ли кто-нибудь с советами для этого?

...