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.