>운영 및 유지보수 >엔진스 >Nginx 리버스 프록시의 웹 서버 인증 메커니즘

Nginx 리버스 프록시의 웹 서버 인증 메커니즘

PHPz
PHPz원래의
2023-06-10 21:36:131868검색

Nginx는 고성능 웹 서버로서 역방향 프록시 서버로 활용하여 외부 세계에 빠르고 안정적인 서비스를 제공할 수 있습니다. 역방향 프록시에서 Nginx는 웹 서버의 인증 메커니즘과 관련된 요청된 리소스를 얻기 위해 내부 웹 서버에 연결해야 합니다.

웹 서버 인증은 일반적으로 기본 인증과 다이제스트 인증의 두 가지 방법으로 구분됩니다. 기본 인증은 사용자가 사용자 이름과 비밀번호를 입력하여 신원을 확인하고 서버가 리소스에 대한 액세스를 허용하기 전에 이 정보를 확인하는 것을 의미합니다. 다이제스트 인증은 사용자가 리소스를 요청할 때 서버가 임의의 값을 반환하는 것을 의미합니다. 클라이언트는 리소스를 요청하기 전에 이러한 값을 암호화합니다. 서버는 클라이언트가 제공한 암호화된 정보를 해독하여 ID를 확인합니다.

역방향 프록시에서는 Nginx가 연결해야 하는 웹 서버도 위의 인증 조치를 수행해야 합니다. 이때 Nginx 구성 파일에서 프록시 확인을 설정하여 웹 서버를 인증할 수 있습니다.

  1. 기본 인증:
  • Nginx의 http 섹션 아래에 다음 코드를 추가합니다.
     auth_basic "Input your username and password";
     auth_basic_user_file /etc/nginx/conf.d/conf/auth.conf;

where auth_basic 는 확인 메커니즘을 활성화하고 사용자에게 입력 상자에 사용자 이름과 비밀번호를 입력하라는 메시지를 표시하는 것을 의미합니다. auth_basic_user_file은 여기서 사용자 이름과 비밀번호가 저장되는 파일을 지정하는 것을 의미합니다. /etc/nginx/conf.d/conf/auth.conf에서 설정하세요. auth_basic表示启用验证机制并在输入框中提示用户输入用户名和密码,auth_basic_user_file则表示指定用户名及密码存放的文件,这里我们设置在/etc/nginx/conf.d/conf/auth.conf中。

  • 在auth.conf文件中先建立一个Password文件:
     htpasswd -c /etc/nginx/conf.d/conf/Password username

其中-c参数表示首次添加用户,username则为用户名,执行以上命令后会让您输入密码,完成后便会在Password文件中生成一个用户及密码。

  • 增加用户:
     htpasswd /etc/nginx/conf.d/conf/Password user2

以上命令为已经存在Password文件的情况下,添加新用户,同样会让您输入密码。

  1. 摘要认证
  • 在Nginx的http段下增加以下代码:
     auth_digest "Please Login";
     auth_digest_user_file /etc/nginx/conf.d/conf/auth_digest.conf;

其中auth_digest表示启用验证机制并在输入框中提示用户输入用户名和密码,auth_digest_user_file则表示指定用户名及密码存放的文件,这里我们设置在/etc/nginx/conf.d/conf/auth_digest.conf中。

  • 在auth_digest.conf文件中增加以下内容:
     user1:PasswordRealm:2da86e1b3a8a5511c400d00737a7a233

其中user1为用户名,PasswordRealm为密码和加密随机数值所对应的领域名组合而成,2da86e1b3a8a5511c400d00737a7a233

먼저 auth.conf 파일에 비밀번호 파일을 만듭니다.

🎜rrreee🎜 -c 매개변수는 처음으로 사용자를 추가한다는 의미이며, username은 위 명령을 실행한 후의 사용자 이름입니다. , 비밀번호를 입력하라는 메시지가 표시됩니다. 완료 후 비밀번호 파일에 사용자와 비밀번호가 생성됩니다. 🎜🎜🎜사용자 추가: 🎜🎜rrreee🎜위 명령은 비밀번호 파일이 이미 존재할 때 새 사용자를 추가하는 명령이며 비밀번호를 입력하라는 메시지도 표시됩니다. 🎜
    🎜다이제스트 인증🎜🎜🎜🎜Nginx의 http 세그먼트 아래에 다음 코드를 추가하세요. 🎜🎜rrreee🎜여기서 auth_digest는 확인 메커니즘을 활성화하고 사용자에게 메시지를 표시하는 것을 의미합니다. 입력 상자에 사용자 이름과 비밀번호를 입력하세요. auth_digest_user_file은 지정된 사용자 이름과 비밀번호가 저장되는 파일을 나타냅니다. 여기서는 /etc/nginx/conf.d/conf/에 설정합니다. auth_digest.conf . 🎜🎜🎜auth_digest.conf 파일에 다음 콘텐츠를 추가합니다. 🎜🎜rrreee🎜여기서 user1은 사용자 이름이고 PasswordRealm은 다음에 해당하는 영역 이름의 조합입니다. 비밀번호이고 암호화된 임의 값 2da86e1b3a8a5511c400d00737a7a233이 암호화된 암호문입니다. 🎜🎜위는 Nginx가 웹 서버 인증을 구현하는 방법입니다. 위와 같은 인증수단을 통해 웹서버에 대한 효과적인 보호 및 보안통제를 수행하여 시스템의 보안과 안정성을 확보할 수 있다. 🎜

위 내용은 Nginx 리버스 프록시의 웹 서버 인증 메커니즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.