【发布时间】:2017-08-18 11:39:41
【问题描述】:
我正在通过 apache2 在虚拟主机上运行具有一个域的 VPS。我正在尝试在其中一个域上设置基本身份验证。目前我有一个 .htpasswd 文件保存在/etc/apache2/.htpasswd 中。我的虚拟主机位于/etc/apache2/sites-enabled/example.co.uk.conf,它看起来像这样:
<VirtualHost *:80>
ServerName example.co.uk
ServerAlias www.example.co.uk
DocumentRoot /var/www/example.co.uk/public_html
<Directory /var/www/example.co.uk/public_html>
AuthType Basic
AuthBasicProvider file
AuthName "Restricted Files"
AuthUserFile /etc/apache2/.htpasswd
require valid-user
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.co.uk [OR]
RewriteCond %{SERVER_NAME} =example.co.uk
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
问题是,身份验证似乎没有任何效果。我对此很陌生,据我所知,这就是我需要添加的全部内容,当我访问该站点时它应该提示我输入密码,但它没有任何效果。
【问题讨论】:
-
您的意思是您可以访问该目录而无需提示用户名/密码框,对吧?
-
是的,当我访问 example.com 时,它应该给我一个用户名/密码框,对吗?但是什么也没发生,它只是直接进入那个目录。
标签: linux apache ubuntu virtualhost vps