지정된 사용자에 대한 액세스를 제한하는 Nginx 액세스 제어 구성

WBOY
풀어 주다: 2023-07-04 10:37:13
원래의
2211명이 탐색했습니다.

Nginx 접근 제어 구성, 특정 사용자에게 접근 제한

웹 서버에서 접근 제어는 특정 사용자나 IP 주소에 대한 접근 권한을 제한하는 데 사용되는 중요한 보안 조치입니다. Nginx는 고성능 웹 서버로서 강력한 접근 제어 기능도 제공합니다. 이 기사에서는 Nginx 구성을 사용하여 지정된 사용자의 액세스 권한을 제한하는 방법을 소개하고 참조용 코드 예제를 제공합니다.

먼저 기본 Nginx 구성 파일을 준비해야 합니다. 이미 웹사이트가 있고 구성 파일 경로가/etc/nginx/nginx.conf라고 가정합니다. 이 구성 파일에는 다음 액세스 제어 구성을 추가합니다./etc/nginx/nginx.conf。在该配置文件中,我们将添加以下访问控制配置:

http { # 其他配置内容... # 定义一个验证文件,包含允许访问的用户名及密码 auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # 定义一个location块,对指定URL路径进行访问控制 location /private { # 开启基于HTTP基本认证的访问控制 auth_basic "Restricted"; # 指定只对特定用户名进行访问控制 auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # 其他配置内容... } }
로그인 후 복사

在上述配置中,我们使用了auth_basic_user_file指令定义了一个验证文件,它包含了允许访问的用户名及对应的密码。这个验证文件的路径是/etc/nginx/conf.d/.htpasswd,我们可以根据实际需要进行更改。

接下来,我们使用location块对指定的URL路径进行访问控制。在示例中,我们使用了/private作为被限制访问的路径,您可以根据实际情况进行调整。在该location块中,我们使用了auth_basic指令开启了基于HTTP基本认证的访问控制。

为了限制只有特定用户可以访问,我们再次使用了auth_basic_user_file指令,并指定了验证文件的路径。这样,只有验证文件中存在的用户名才能访问被限制的URL路径。

接下来,我们需要准备验证文件.htpasswd。这个文件可以使用htpasswd命令生成,它是Apache HTTP Server提供的一个工具。在终端中执行以下命令生成验证文件:

htpasswd -c /etc/nginx/conf.d/.htpasswd user1
로그인 후 복사

上述命令将在指定路径下生成一个.htpasswd文件,并为用户user1设置密码。为了增加更多用户,可以去掉-c选项,如下所示:

htpasswd /etc/nginx/conf.d/.htpasswd user2
로그인 후 복사

在这之后,您可以根据需要继续为更多用户设置密码。

最后,我们需要重启Nginx服务器使配置生效。在终端中执行以下命令:

sudo service nginx restart
로그인 후 복사

现在,只有在验证文件中存在的用户才能访问被限制的URL路径。其他用户将无法通过授权,从而增加了网站的安全性。

总结:

本文介绍了如何使用Nginx配置限制指定用户的访问权限。首先,我们在Nginx配置文件中定义了验证文件的路径,并开启了基于HTTP基本认证的访问控制。然后,通过locationrrreee

위 구성에서는 auth_basic_user_file지시어를 사용하여 사용자 이름과 해당 비밀번호가 포함된 인증 파일을 정의합니다. 이 확인 파일의 경로는 /etc/nginx/conf.d/.htpasswd이며 실제 필요에 따라 변경할 수 있습니다.

다음으로 location블록을 사용하여 지정된 URL 경로에 대한 액세스를 제어합니다. 예시에서는 접근이 제한된 경로로 /private를 사용하고 있습니다. 실제 상황에 따라 조정할 수 있습니다. location블록에서는 auth_basic지시문을 사용하여 HTTP 기본 인증을 기반으로 액세스 제어를 활성화합니다. 특정 사용자에게만 액세스를 제한하기 위해 auth_basic_user_file지시어를 다시 사용하고 확인 파일의 경로를 지정합니다. 이렇게 하면 확인 파일에 있는 사용자 이름만 제한된 URL 경로에 액세스할 수 있습니다. 다음으로 검증파일 .htpasswd를 준비해야 합니다. 이 파일은 Apache HTTP 서버에서 제공하는 도구인 htpasswd 명령을 사용하여 생성할 수 있습니다. 터미널에서 다음 명령을 실행하여 확인 파일을 생성합니다: rrreee위 명령은 지정된 경로에 .htpasswd파일을 생성하고 사용자 user1의 비밀번호를 설정합니다. . 더 많은 사용자를 추가하려면 아래와 같이 -c옵션을 제거할 수 있습니다. rrreee이후 필요에 따라 더 많은 사용자에 대한 비밀번호를 계속 설정할 수 있습니다. 마지막으로 구성을 적용하려면 Nginx 서버를 다시 시작해야 합니다. 터미널에서 다음 명령을 실행하세요. rrreee 이제 검증 파일에 있는 사용자만 제한된 URL 경로에 접근할 수 있습니다. 다른 사용자는 인증을 통과할 수 없으므로 웹사이트의 보안이 강화됩니다. 요약: 이 글에서는 Nginx 구성을 사용하여 특정 사용자의 액세스 권한을 제한하는 방법을 소개합니다. 먼저 Nginx 구성 파일에 검증 파일의 경로를 정의하고 HTTP 기본 인증 기반의 접근 제어를 활성화했습니다. 그런 다음 location블록을 통해 제한할 URL 경로를 지정하고, 다시 확인 파일 경로를 지정하여 특정 사용자에게만 접근을 제한합니다. 마지막으로 htpasswd 명령을 사용하여 확인 파일을 생성하고 Nginx 서버를 다시 시작하여 구성을 적용했습니다. 이 기사가 Nginx 액세스 제어 구성을 이해하고 특정 사용자의 액세스 권한을 제한하는 방법을 배우는 데 도움이 되기를 바랍니다. 기타 문의사항이 있으신 경우 Nginx 공식 문서를 참고하시거나 추가 상담 및 연구를 진행하실 수 있습니다.

위 내용은 지정된 사용자에 대한 액세스를 제한하는 Nginx 액세스 제어 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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