我用阿帕奇的mod_info
显示有关我的服务器设置的详细信息。
httpd-vhosts.conf
# Set path below to be handled by mod_info. It will show server info.
# For this to work, this module must be loaded (uncommented in httpd.conf)
<Location /special/path>
SetHandler server-info
Order allow,deny
Allow from 127.0.0.1
</Location>
Allow from
设置为本地机器,因为这在我的开发机器上。
此模块允许我通过导航到 来查看大量信息/special/path
。我想在我的公共服务器上使用它,但需要以某种方式保护它,以便其他人无法加载该路径。
文档讨论了通过 IP 地址列入白名单,但我有一个组织 IP,与许多人共享。
保护这条道路最实际的方法是什么?
Apache 2.4.16
答案1
您不仅限于设置 IP 访问控制,还可以使用范围内允许的任何其他访问控制<Location>
,或两者的组合。因此,请使用RequireAll
指令来要求特定的 IP 地址并设置身份验证和要求特定的登录。
<Location /special/path>
SetHandler server-info
AuthType Basic
AuthName "Restricted Access To Special Location"
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
<RequireAll>
Require ip 10.252.46.165
Require user BeetleJuice
</RequireAll>
</Location>
答案2
将其设置为仅在 127.0.0.1 上可用,然后通过 ssh 隧道访问它。