
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
위치/파일 경로가 의도한 대로 일치하지 않는 것 같습니다. 파일 경로와 관련하여 구문이 확실히 정확합니까?
또한 서버에 문제의 비밀번호 파일에 대한 읽기 액세스 권한이 있습니까?