我正在尝试阻止人们通过我的 IP 地址访问我的服务器。理想情况下,我希望他们只能使用我的域名访问它。我在 Google 上搜索过,但找不到任何东西。有没有办法在 nginx 和/或 Apache 中做到这一点?
答案1
在 Apache2 上,根据域名创建一个 VirtualHost,并创建一个不带 nameServer 选项的其他选项(这意味着在配置中找不到的所有名称,如 IP)。默认值应该是 Apache2 最先加载的。
您可以从默认重定向到域,或者提供您想要的页面,因为它与您的域 VirtualHost 分开
答案2
<Location /warname>
SetEnvIF X-Forwarded-For "(,| |^)11\.11\.111\.111(,| |$)" DenyIP
Order allow,deny
Deny from env=DenyIP
Allow from all
</Location>
CustomLog /opt/apache/logs/DenyIP_access.log common env=DenyIP