我已经为运行apache2的ubuntu set服务器设置了http-auth。我已经完成了以下步骤(注意实例已经运行了apache2和route53地址的A记录):
mkdir -p /etc/httpd/conf.d
apt-get install -y apache2-utils
htpasswd -b -c /etc/apache2/.htpasswd demo $PASSWORD然后,我创建了/etc/apache2/sites启用/000-default.conf文件。
<VirtualHost *:80>
DocumentRoot /var/www/blah/
ServerName some-test.blah.info
ServerAdmin some-random-admin
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/blah/">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>最后,我通过重新启动apache应用了这个更改。
在此之后,有一个凭据提示(用户名和密码)通过IP地址,而不是通过route53设置的dns地址。
我相信这个问题是一个route53问题,因为当你直接去做IP地址时,它是正确工作的。
发布于 2017-01-26 20:39:53
解决方案是编辑/etc/apache2/apache2.conf并找到目录部分(应该是153-174行)并添加auth需求。基本上,查找所有目录并在每个目录中添加以下四行:
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user例如,这就是最初的样子:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>这就是需要改变的地方:
<Directory />
Options FollowSymLinks
AllowOverride None
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<Directory /usr/share>
AllowOverride None
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<Directory "/var/www/blah/">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>https://stackoverflow.com/questions/41864382
复制相似问题