您好亲爱的开发人员和sa的人员,
我有一个非常奇特的问题,这是我所有的开发和服务器管理生涯中从未遇到过的问题。
我有1个域名,我们将其称为example.com。
我为此设置了两个不同的虚拟主机。
dev.example.com
<VirtualHost x.x.x.x:443>
ServerAdmin admin@gmail.com
DocumentRoot /home/user/example
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile ..../certificate.crt
SSLCertificateKeyFile ..../certificate.key
SSLCertificateChainFile ..../cabundle.crt
</VirtualHost>
<VirtualHost x.x.x.x:443>
ServerAdmin admin@gmail.com
DocumentRoot /home/user/dev_example
ServerName dev.example.com
ServerAlias dev.example.com
SSLEngine on
SSLCertificateFile ..../certificate.crt
SSLCertificateKeyFile ..../certificate.key
SSLCertificateChainFile ..../cabundle.crt
</VirtualHost>
这一切都很好,但是我想通过身份验证模块通过简单的方式限制用户访问开发主机。
AuthType Basic
AuthName "Development"
AuthUserFile /home/user/.htpasswd
Require valid-user
身份验证本身有效。但是现在问题来了!开发虚拟主机的身份验证部分正在其他虚拟主机上要求提供凭据,这根本没有任何意义...我尝试将身份验证部分放在不同的位置(例如目录和位置),但每次的结果都是相同的...我厌倦了它,决定将其放入.htaccess文件中……但是它仍然要求在另一个域上进行身份验证,而该域甚至没有读取该虚拟主机上的.htaccess文件。
简短:
希望有人能理解这种怪异的行为,因为我不知道出了什么问题。如果我只评论.htaccess文件中的auth部分,则不会要求这两个虚拟主机都提供凭据。