최종 효과는 비슷합니다(다른 브라우저의 인터페이스는 다름):
인증에 실패하면 http 오류가 보고됩니다: 401 인증이 필요합니다.
해당 기능을 구현하려면 서버 구성을 변경하고 로그인을 위한 사용자 이름과 비밀번호를 설정해야 합니다.
먼저 웹사이트의 nginx 서버 구성을 변경해야 합니다. Ubuntu 서버의 경우 이 구성 파일은 일반적으로 /etc/nginx/sites-enabled/에 있습니다. 예를 들어 저는 기본 구성 파일인 /etc/nginx/sites를 사용합니다. -활성화/기본값은 여기에서 확인하세요.
코드 복사 코드는 다음과 같습니다.
server {
server_name www.fancycedar.info
root /www/fancycedar
# ...
location / {
# 다음 두 줄을 추가하세요
auth_basic "restricted" ;
auth_basic_user_file htpasswd;
# ...
}
# ...
}
다음으로 주의해야 할 몇 가지 세부 사항이 있습니다.
htpasswd
의 경로는 nginx.conf 디렉토리와 동일한 수준에 있으면 충분합니다. Ubuntu 서버의 경우 일반적으로 /etc/nginx/에 있습니다.
htpasswd
의 내용은 각 줄이 사용자를 나타내며 형식은 사용자 이름:비밀번호입니다. 그러나 여기의 비밀번호는 일반 텍스트가 아니라 crypt(3)에 의해 암호화된 문자열이라는 점에 유의하세요.
php 코드를 사용하여 htpasswd에서 비밀번호를 생성할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
// 비밀번호 일반 텍스트
$password = 'some 비밀번호'
// 비밀번호를 암호화합니다.
$password = crypt( $password, base64_encode($password));
// 암호화된 비밀번호를 가져옵니다
echo $password;
그런 다음 htpasswd 파일에 문자열을 씁니다.
코드 복사 코드는 다음과 같습니다. :
username1:xucqmk13tfooe
username2 ; 준비되었나요?
위의 준비가 완료되면 nginx 서버를 다시 로드하거나 다시 시작할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
# 또는
sudo /etc/init.d/nginx restart위 내용은 Nginx에서 htpasswd를 사용하여 웹사이트를 비밀번호로 보호하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!