Nginx에서 HTTP 인증 구현은 기본 및 다이제스트 인증 방법을 사용하여 수행 할 수 있습니다. 다음은 설정 방법에 대한 단계별 안내서입니다.
기본 인증 :
비밀번호 파일 작성 : 먼저 사용자 이름과 암호가 포함 된 파일을 만들어야합니다. htpasswd
명령을 사용 하여이 파일을 만들고 관리하십시오.
<code>sudo htpasswd -c /etc/nginx/.htpasswd username</code>
따라서 지정된 사용자의 비밀번호를 입력하라는 메시지가 표시됩니다. -c
플래그없이 추가 사용자를 추가 할 수 있습니다.
Nginx 구성 : 인증 세부 정보를 포함하도록 Nginx 구성 파일을 수정하십시오. 서버 또는 위치 블록에 다음을 추가하십시오.
<code class="nginx">location /protected/ { auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd; }</code>
이를 위해서는 /protected/
디렉토리에 액세스하기위한 인증이 필요합니다.
nginx를 다시 시작 : 변경 후 Nginx를 다시 시작하여 새 구성을 적용하십시오.
<code>sudo systemctl restart nginx</code>
다이제스트 인증 :
비밀번호 파일 생성 : 기본 인증과 유사하게 비밀번호 파일이 필요합니다. htdigest
와 같은 도구를 사용하여 만들 수 있습니다.
<code>sudo htdigest -c /etc/nginx/.htdigest "Realm Name" username</code>
"Realm Name"을 원하는 영역 이름으로 바꾸십시오.
Nginx : Digest Auth는 ngx_http_auth_digest_module
을 필요로하며 NGINX의 기본 빌드에는 포함되지 않을 수 있습니다. 있으면 다음과 같이 nginx를 구성하십시오.
<code class="nginx">location /protected/ { auth_digest "Restricted Area"; auth_digest_user_file /etc/nginx/.htdigest; }</code>
기본 및 다이제스트 인증은 자체 보안 영향을 미칩니다.
기본 인증 :
다이제스트 인증 :
비교:
Nginx의 인증 영역은 공통 이름으로 인증이 필요한 리소스를 그룹화하는 데 사용됩니다. 이는 사용자 관리를 개선하는 데 도움이 될 수 있으며 액세스하는 내용에 대해 사용자에게 명확한 컨텍스트를 제공 할 수 있습니다. 인증 영역을 사용하도록 nginx를 구성하는 방법은 다음과 같습니다.
영역을 통한 기본 인증 :
<code class="nginx">location /protected/ { auth_basic "Restricted Area"; # This is the realm name auth_basic_user_file /etc/nginx/.htpasswd; }</code>
인용문의 텍스트는 인증 프롬프트 중에 사용자에게 표시되는 영역 이름입니다.
영역으로 인증 인증 :
<code class="nginx">location /protected/ { auth_digest "Restricted Area"; # This is the realm name auth_digest_user_file /etc/nginx/.htdigest; }</code>
기본 인증과 유사하게 인용문의 텍스트는 영역 이름입니다.
다중 영역 :
서버의 다른 부분에 대한 액세스를 관리하기 위해 다른 위치에 대해 다른 영역을 설정할 수 있습니다.
<code class="nginx">location /admin/ { auth_basic "Admin Area"; auth_basic_user_file /etc/nginx/.htpasswd_admin; } location /user/ { auth_basic "User Area"; auth_basic_user_file /etc/nginx/.htpasswd_user; }</code>
이 예제는 관리자 및 사용자 영역에 다른 영역과 다른 비밀번호 파일을 사용하여 사용자 관리를 향상시킵니다.
NGINX는 동일한 위치 블록 내에서 기본 및 다이제스트 인증을 결합하는 것을 기본적으로 지원하지 않지만 다른 인증 방법이있는 별도의 위치를 설정하여 향상된 보안 형태를 달성 할 수 있습니다. 구성하는 방법은 다음과 같습니다.
덜 민감한 영역에 대한 기본 인증 :
<code class="nginx">location /less_sensitive/ { auth_basic "Less Sensitive Area"; auth_basic_user_file /etc/nginx/.htpasswd_less_sensitive; }</code>
보다 민감한 영역에 대한 Digest Auth :
<code class="nginx">location /more_sensitive/ { auth_digest "More Sensitive Area"; auth_digest_user_file /etc/nginx/.htdigest_more_sensitive; }</code>
폴백 인증 :
사용자가 컨텐츠에 액세스하기 위해 폴백 방법을 갖기를 원한다면 대체 인증 방법으로 별도의 위치를 설정할 수 있습니다.
<code class="nginx">location /fallback/ { auth_basic "Fallback Area"; auth_basic_user_file /etc/nginx/.htpasswd_fallback; }</code>
이 설정은 동일한 위치 내에서 두 가지 메소드를 기술적으로 결합하지는 않지만 서버의 다른 영역에 대한 기본 및 다이제스트 인증의 강점을 활용하여 데이터의 민감도를 기반으로 적절한 인증 메커니즘을 제공하여 보안을 향상시킬 수 있습니다.
위 내용은 Nginx에서 HTTP 인증 (기본 인증, Digest Auth)을 구현하려면 어떻게합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!