>  기사  >  운영 및 유지보수  >  Nginx 역방향 프록시의 다중 포트 액세스 제어 정책

Nginx 역방향 프록시의 다중 포트 액세스 제어 정책

王林
王林원래의
2023-06-10 23:28:393064검색

Nginx는 널리 사용되는 역방향 프록시 서버이자 경량 웹 서버입니다. 역방향 프록시 아키텍처에서 Nginx는 요청과 클라이언트 사이의 중개자 역할을 하며 서버 로드 밸런싱, 캐싱, 보안 및 기타 문제를 해결하는 데 사용됩니다. Nginx 리버스 프록시를 적용하면 팀에 서버 아키텍처에 대한 더 많은 선택권이 제공되고 변경 사항 및 비즈니스 요구에 신속하게 대응할 수 있습니다.

Nginx 리버스 프록시를 사용하는 과정에서 다중 포트 접근 제어가 점점 더 중요한 문제가 되었습니다. 이 글에서는 Nginx 리버스 프록시에서 다중 포트 접근 제어 정책의 역할과 구현 방법을 자세히 소개합니다.

1. Nginx 역방향 프록시의 다중 포트 액세스 제어 전략

Nginx 역방향 프록시에서 다중 포트 액세스 제어는 서로 다른 서비스가 액세스 제어를 위해 서로 다른 포트를 선택하는 것을 의미합니다. 다양한 포트에 대한 액세스를 제어함으로써 다양한 수준의 액세스를 제한하여 액세스의 보안과 신뢰성을 보장할 수 있습니다.

구체적으로 Nginx 리버스 프록시의 다중 포트 액세스 제어 전략은 두 가지 측면으로 나눌 수 있습니다. 하나는 포트 선택 전략이고 다른 하나는 액세스 제어 전략입니다. 그 중 포트 선택 전략은 주로 다양한 서비스의 필요에 따라 포트를 선택하고, 액세스 제어 전략은 특정 규칙과 정책에 따라 액세스를 제한합니다.

2. 포트 선택 전략

서비스마다 다른 포트를 선택해야 합니다. 일반적으로 Nginx 리버스 프록시는 웹 서비스, 파일 다운로드 서비스 등의 분야에서 사용되며 액세스 제어를 위해 다른 포트를 선택해야 합니다.

1. 포트 선택 원칙

포트 선택에는 다음 원칙이 있습니다.

(1) 다른 포트에 다른 서비스 배치

(2) 다른 서비스 요구에 따라 다른 포트 선택

(3) 포트 선택 다양한 서비스의 부하, 보안 등에 따라

2. 포트 구성 방법

Nginx 리버스 프록시를 사용하는 경우 구성 파일에 다른 포트를 정의해야 합니다. 기본 구성 파일 nginx.conf에는 다음 코드가 있습니다.

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
}

그 중 Listen 80은 포트가 80임을 의미합니다. 포트 번호는 필요에 따라 변경할 수 있습니다(예: Listen 90).

3. 접근 제어 정책

포트 선택 정책은 포트를 결정하고, 접근 제어 정책은 접근을 제한합니다. 접근통제 정책에 따라 다양한 사용자와 IP에 대해 통합적인 접근통제가 가능합니다.

1. IP 기반 접근 제어

IP 기반 접근 제어는 서로 다른 IP에 대한 접근을 제한합니다. 클라이언트가 IP 주소에서 액세스하면 Nginx 역방향 프록시는 IP 주소를 사용하여 IP에 대한 액세스를 허용할지 여부를 결정합니다. Nginx 구성 파일에서 다음 코드를 통해 IP 기반 접근 제어를 구현할 수 있습니다.

server {
    listen 80;
    server_name example.com;
    location / {
        allow 192.168.0.1/24;
        allow 192.168.1.1/24;
        deny all;
        proxy_pass http://backend;
    }
}

그 중 허용은 접근이 허용된 IP를 나타내고, IP ​​주소가 CIDR 형식이면 접근이 금지되었음을 나타냅니다. . 위 코드에서 접속이 허용된 IP는 192.168.0.1/24, 192.168.1.1/24 입니다.

2. 사용자 기반 접근 제어

사용자 기반 접근 제어는 사용자의 로그인 정보를 기반으로 접근 허용 여부를 결정합니다. 사용자가 Nginx 역방향 프록시를 통해 서비스에 액세스하면 Nginx는 액세스 허용 여부를 결정하기 전에 사용자의 로그인 상태를 확인합니다.

Nginx에서 사용자 기반 액세스 제어를 구현하려면 타사 모듈 AuthRequest가 필요합니다. 다음은 AuthRequest를 기반으로 한 Nginx 구성 파일입니다.

server {
    listen 80;
    server_name example.com;
    location / {
        auth_request /auth;
        proxy_pass http://backend;
    }

    location = /auth {
        proxy_pass http://auth_backend;
        proxy_set_header X-Original-URI $request_uri;
        proxy_set_header X-Original-Remote-Addr $remote_addr;
    }
}

위 코드에서 AuthRequest 모듈은 사용자의 로그인 상태를 확인하는 데 사용되고, Proxy_pass는 요청을 백엔드 서비스로 전달하는 데 사용되며, Proxy_set_header는 요청 헤더 정보를 설정합니다.

4. 요약

Nginx 리버스 프록시는 다중 포트 액세스 제어 정책을 통해 액세스의 보안과 안정성을 보장할 수 있습니다. 포트 선택 전략에서는 다양한 서비스의 필요에 따라 다양한 포트를 선택해야 합니다. 액세스 제어 전략에서는 IP 기반 액세스 제어와 사용자 기반 액세스 제어를 사용하여 액세스를 제한할 수 있습니다. 또한 Nginx 리버스 프록시의 액세스 제어 정책은 다른 방법으로도 설정할 수 있으며 실제 애플리케이션에서는 필요에 따라 선택하고 적용해야 합니다.

위 내용은 Nginx 역방향 프록시의 다중 포트 액세스 제어 정책의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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