【发布时间】:2021-09-07 10:07:21
【问题描述】:
我使用 geoIP 保护我的 HTTP(s) 虚拟主机
<Directory /srv/www/vhosts>
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(RU|CN|HK|IN) BlockCountry
Deny from env=BlockCountry
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
1.) 我在这里混合 v2.2 Deny from env=BlockCountry 和 v2.4 Require all granted 指令是否正确。
如果是,我在网上搜索以将Deny from env=BlockCountry 替换为 apache2.4 替代品,但找不到。我怎样才能摆脱旧的Denydirecticve?
2.) 我是否纠正了我的 apache2.conf 中的 GeoIP 代码仅靠一些“运气”才能与这个版本不一致的指令一起工作,因为我从来没有像我一样设置规则( Require 或 Deny )首先出现的顺序在 v2.2 中apache order allow deny
3.) Require env BlockCountry 有效,但所有被阻止的国家/地区都可以访问,而其他所有国家/地区都没有(我总是使用 VPN 进行测试)
所以我尝试了Require not env BlockCountry,但是当我重新启动 apache web 服务器时这会导致错误
【问题讨论】:
标签: apache apache2.4 apache2.2