서버에 가상 호스트로 몇 개의 준비 사이트가 있고 공용 가상 호스트 사이트 몇 개가 있습니다. 진술하는 사이트는 모두 하나의 디렉토리 아래에 있습니다 (예 : /var/www/staging-sites/[site-document-root]
).apache 여러 가상 호스트에 대한 기본 인증
지금까지 각 가상 호스트에 대해 HTTP Basic Auth를 구성 해 보았지만 모든 가상 호스트에 대해 한 번 수행해야 할 것처럼 보입니다.
"apache global basic auth"이라는 질문은 기본 인증 지시문을 기본 apache 구성 파일의 <Directory /var/www/staging-sites>
컨테이너에 넣을 수 있지만 브라우저가 자격 증명을 요구하지 않는다는 것을 나타냅니다. 여기
tail -n 7 /etc/apache2/apache2.conf
의 출력입니다 :
<Directory "/var/www/staging-sites/">
AuthType Basic
AuthName "Authentication Required"
AuthBasicProvider file
AuthUserFile /var/www/staging-sites/.htpasswd
Require valid-user
</Directory>
- 내가 /var/www/staging-sites/.htpasswd가 존재하는 것을 확인했습니다, 그리고 사이트 foo.mydomain.com는 문서 루트를 사용하는/var/www/staging-sites/foo.
- 새 구성이로드되도록 아파치를 다시 시작했습니다.
그러나 http://foo.mydomain.com을 열면 기본 인증 자격 증명을 묻지 않고 사이트가 표시됩니다.
내가 뭘 잘못하고 있니?
실제로 각 가상 호스트에 대한 기본 인증 요구 사항을 별도로 구성해야합니다. 그러나 당신이'.htpasswd' 파일에 _absolute_ 경로를 사용하기 때문에 _all_ 가상 호스트들에 대해 같은 파일을 사용할 수 있습니다. 그것은 노력을 줄입니다. – arkascha