Apache динамический белый список

Я ищу решение для динамического белого списка, поэтому мне не нужно перезапускать службу apache2. Я пытался сделать что-то вроде этого:

order Deny,Allow
include conf/IPList.conf
Allow from all

Но это решение не сработало для меня правильно. Я пробовал и это, но я не уверен, что мой whitelist.txt правильный. Как это должно выглядеть?

## WHITELIST IPS ##
RewriteMap ipslist txt:/path/to/whitelist.txt
RewriteCond %{REMOTE_ADDR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]

Или, может быть, есть другой, лучший способ сделать динамический белый список для Apache2?

1 ответ

Решение

Использование переписать карту нормально. Есть обратный способ сделать это, о котором я писал здесь.

Вы можете немного упростить правила:

RewriteMap ipslist txt:/path/to/whitelist.txt

RewriteCond ${ipslist:%{REMOTE_ADDR}|black} ^black$ [NC]
RewriteRule ^ - [F]

Файл whitelist.txt должен выглядеть так:

1.2.3.4 ok
2.3.4.5 ok

и т.п.

"ОК" может быть любым, но вам нужно что-то, на что отображается белый список IP-адресов, кроме "черного". Файл whitelist.txt будет кэшироваться apache, и когда вы его измените, apache автоматически перезагрузит и повторно проанализирует файл. Таким образом, вам не нужно перезапускать Apache.

Другие вопросы по тегам