1

Nginx를 실행하는 Ubuntu Server 12.04에서 특정 폴더를 보호해야합니다.Nginx - htaccess nginx로 디렉토리를 보호 할 수 없습니다.

이 자습서는 http://nginxlibrary.com/password-protect-a-directory/ 과 그 밖의 많은 튜토리얼을 따랐습니다.

나는 아파치 유틸을 사용하여 .htpasswd라는 및

그런 다음 구성 파일에 서버 블록에 갔다은/etc/nginx를/암호에 넣어 파일을 생성 나는 또한 많은 시도

location /var/www/mywebsitedir.com/folderthatneedsprotection { 
    auth_basic "Restricted Area"; 
    auth_basic_user_file /etc/nginx/passwords/.htpasswd; 
} 

넣어 와일드 카드^~ 등을 사용하는 것과 같은 위치 지시문의 변형은 여전히 ​​작동하지 않습니다. 나는 정말 암호로 디렉토리를 보호해야하지만 작동하지 않는 것 같습니다! 어떤 도움이라도 대단히 감사합니다.

+0

가 나는 부분적인 해결책을 나타냈다. 서버 루트가 어디에 있는지 확인하고 Nginx를 다시 시작한 후 서버가 전파되는 데 10 분을 기다리는 것이 중요합니다. 하지만 지금 내 다른 문제는 당신이 취소를 클릭하면 여전히 페이지를 볼 수 있지만 벌거 벗은 html 페이지라는 것입니다. 그러나 링크를 클릭하고 다시 취소하면 페이지를 통과하고 다음 벌거 벗은 html 페이지로 이동합니다. 어떻게 해결할 수 있을까요? – MindOverMatter

+0

더 구체적으로 말하자면, 내가 취소를 누르면 디렉토리 안의 파일과 디렉토리에 필요한 401 인증이 표시되지 않습니다. 디렉토리 자체에서만. – MindOverMatter

+1

'location'은 FS 경로가 아닌 URI입니다. –

답변

0

위치 지정 문에 경로와 URL의 조합을 사용하려고합니다. 대신 도메인 다음에 상대 URL을 포함해야합니다. 귀하의 경우에는

이 될 가능성이 높습니다 :

location /folderthatneedsprotection { 
    auth_basic "Restricted Area"; 
    auth_basic_user_file /etc/nginx/passwords/.htpasswd; 
}