비밀번호로 보호된 디렉토리에 액세스한 후 403 Forbidden이 표시됩니다.

비밀번호로 보호된 디렉토리에 액세스한 후 403 Forbidden이 표시됩니다.

nginx를 사용하고 있는데 디렉토리를 비밀번호로 보호하고 로그인 세부정보를 입력하면 403'ed(:O)가 발생합니다.

        위치 ~ ^/문서 {
        auth_basic "접근이 제한되었습니다.";
#오래된 노선.
# auth_basic_user_file /private/pass;
#뉴라인.
       auth_basic_user_file /var/www/site.com/private/pass;
}

패스 파일은 다음과 같습니다

thisID:thisPass: 안녕하세요 댓글입니다!

팁이 있나요?

답변1

일치하지 않더라도 오류가 발생합니다.

패스 파일은 다음과 같습니다

thisID:thisPass: 안녕하세요 댓글입니다!

비밀번호가 실제로 암호화되어 있다고 가정합니까? 나는 그래야 한다고 생각한다. 해당 비밀번호 파일에 사람이 읽을 수 있는 비밀번호를 간단히 넣을 수 있을지 의문입니다.

nginx가 해당 파일에서 인코딩/암호화된 비밀번호를 예상하는 경우, 저장된 비밀번호가 다른 형식을 사용하는 경우에는 절대 일치하는 비밀번호를 찾을 수 없습니다. (일치하는 항목을 찾기 위해 사용자가 입력한 비밀번호를 인코딩하고 인코딩된 입력을 파일에서 알려진 인코딩된 비밀번호와 비교합니다.) 그리고 실제로문서,비밀번호는 crypt(3) 함수로 인코딩되어야 합니다. Apache의 htpasswd 프로그램을 사용하여 비밀번호 파일을 만들 수 있습니다.

이것은 여전히 ​​실제 오류 메시지를 설명하지는 않지만, 비밀번호 파일에 사람이 읽을 수 있는 비밀번호가 포함되어 있으면 반드시 402 Unauthorized또는 가 생성됩니다 403 Forbidden.

온라인으로 암호화된 비밀번호를 만들 수도 있습니다.다양한 웹사이트.

답변2

이런 종류의 문제로 어려움을 겪는 나의 경험은 컴퓨터가 파일이나 디렉토리가 거기에 없다고 말할 때 .... 거기에 없다는 것입니다! :-)

즉, 서버 루트와 관련된 파일을 찾아보십시오.

auth_basic_user_file   /private/pass;

답변3

위치/파일 경로가 의도한 대로 일치하지 않는 것 같습니다. 파일 경로와 관련하여 구문이 확실히 정확합니까?

또한 서버에 문제의 비밀번호 파일에 대한 읽기 액세스 권한이 있습니까?

관련 정보