我想通过在 apache 配置文件的指令内嵌入指令来密码保护 Web 服务器的 2000 端口。但是它没有像预期的那样提示输入密码。这是我在 apache 配置文件中的内容:
<VirtualHost *:2000>
ServerName www.server.com
ServerAdmin email
DocumentRoot /var/www/html
ErrorLog logs/server.com-error_log
<Location / >
AuthType Basic
AuthName "TAP Surveillance"
AuthUserFile /var/www/s2/.htpasswd-users
Require valid-user
</Location>
</VirtualHost>
答案1
您的配置看上去并没有什么错误。
- 配置完成后你重启了 apache 吗?
- 检查您的日志中是否存在相关信息。
答案2
我认为它不起作用的几个原因如下:
- 我需要一个相应的 NameVirtualHost *:2000 来配合 VirtualHost 指令
- 我在该端口上使用反向 ssh 隧道,因此 ssh 在 Web 服务器之前捕获了它。隧道连接的 Web 服务器没有密码保护。
所以现在我的问题是如何在隧道末端用密码保护服务器。它是一台简单的服务器,不能使用密码。这就是为什么我希望通过 Apache 服务器保护对它的访问。
答案3
请尝试:位置和 DocumentRoot 需要相同
<VirtualHost *:2000>
ServerName www.server.com
ServerAdmin email
DocumentRoot /var/www/html
ErrorLog logs/server.com-error_log
<Location /var/www/html >
AuthType Basic
AuthName "TAP Surveillance"
AuthUserFile /var/www/s2/.htpasswd-users
Require valid-user
</Location>
</VirtualHost>
然后,重新启动 Apache