如何密码保护VirtualHost指令W / O htaccess

我想通过在apacheconfiguration文件的指令中embedded一个指令来保护Web服务器的端口2000。 但是它没有按照预期提示input密码。 这是我在Apacheconfiguration文件中的:

<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> 

你的configuration似乎没有任何不正确的地方。

  • configuration完这个之后你重启了apache吗?
  • 检查你的日志中的相关信息。

几个原因,我认为它不工作:

  1. 我需要一个相应的NameVirtualHost *:2000去与VirtualHost指令
  2. 我在那个端口上使用了一个反向的ssh隧道,所以ssh在web服务器之前捕获它。 隧道连接的Web服务器没有密码保护。

所以现在我的问题是如何在隧道的末尾密码保护服务器。 这是一个简单的服务器,不能密码。 这就是为什么我希望保护通过Apache服务器的访问。

请尝试:位置和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