Назад | Перейти на главную страницу

Правильный способ заблокировать сайт при отсутствии cookie apache 2.4

Я использую apache 2.4.12 (Ubunutu 15.10) в качестве прокси-сервера oauth2 за приложением узла. Приложение отправляет множество неаутентифицированных запросов перед входом в систему, потому что оно не знает, что оно не аутентифицировано (оно не знает / не заботится о прокси), что создает множество больших файлов cookie, которые могут вызвать проблемы.

Я бы хотел сказать, что если конкретный файл cookie не существует (mod_auth_openidc_session), что означает, что он еще не прошел авторизацию, заблокировать все запросы к моему серверу. Пока у меня есть это, но я не уверен, правильно ли это (поскольку условие требует времени для воспроизведения):

RewriteEngine On
RewriteCond %{HTTP_COOKIE} !mod_auth_openidc_session
RewriteRule .*my.server.com.* [F]

Это делает то, что я хочу ?:

Блокируйте все запросы к http (s): //my.server.com/ или http (s): //my.server.com/login и т. Д., Если не указан файл cookie mod_auth_openidc_session.

Ваша общая цель кажется мне странной, но что касается вашего рецепта перезаписи, RewriteRule директива неверна. Общий синтаксис: RewriteRule Pattern Substitution [flags], где шаблон идет против пути в URL-адресе, но, поскольку ваше соответствие соответствует правилу rewrite Cond, вы можете просто захотеть RewriteRule (.*) $1 [F]. Если вы хотите сопоставить только один хост, то для сопоставления требуется другое правило RewriteCond. HTTP_HOST.