네트워크 발전의 급속한 발전에 따라 배포되는 애플리케이션과 서비스의 수가 증가하고 있습니다. 일부 시나리오에서는 요청을 특정 서버나 애플리케이션으로 라우팅해야 합니다. Nginx는 이러한 문제를 해결할 수 있는 고성능 웹 서버이자 일반적으로 사용되는 역방향 프록시 방식입니다. Nginx 리버스 프록시에서 제공하는 ACL 모듈을 기반으로 관리자는 요청 라우팅, 액세스 제어 및 기타 네트워크 보안 문제를 유연하게 제어하고 관리할 수 있습니다.
역방향 프록시에서는 클라이언트에서 역방향 프록시 서버로 요청이 전송되고, 프록시 서버는 클라이언트를 대신하여 백엔드 서버에 요청을 보내고 반환 결과를 클라이언트에 제공합니다. 예를 들어, 여러 언어와 기술 스택이 포함된 최신 웹 애플리케이션에서 Nginx 역방향 프록시를 사용하면 동일한 도메인 이름을 통해 다양한 요청을 다양한 백엔드 서비스로 라우팅할 수 있습니다.
이 기사에서는 Nginx 역방향 프록시에 대한 보다 세부적인 라우팅 정책 및 보안 제어를 구현하기 위해 키워드 및 블랙리스트 기반 ACL을 구성하는 방법을 알아봅니다.
키워드 ACL
키워드 ACL은 요청 URL의 키워드를 일치시켜 요청 라우팅을 구현하는 방법입니다. 예를 들어, 현재 애플리케이션에서 요청된 URL에 "/app1/"이 포함되어 있으면 Nginx 역방향 프록시가 요청을 백엔드 애플리케이션 1로 라우팅하도록 합니다. URL에 "/app2/"가 포함되어 있으면 요청이 백엔드 애플리케이션 2로 라우팅됩니다.
이 기능을 구현하려면 Nginx 구성 파일에서 키워드 ACL을 구성해야 합니다. 구성 방법은 다음과 같습니다.
http { ... # 关键词acl map $request_uri $app_name { ~* "/app1/" app1; ~* "/app2/" app2; default ""; } }
이 구성에서 $request_uri는 요청된 URL을 나타내는 Nginx 내장 변수입니다. 이 변수의 값은 미리 정의된 키워드 정규식과 일치하는 map 지시문에 전달됩니다. 일치에 성공하면 애플리케이션 이름이 $app_name 변수에 저장되고, 그렇지 않으면 기본값이 사용됩니다.
그런 다음 위에서 정의한 $app_name 변수를 프록시 지시문의 프록시 URL 옵션에 프록시 대상으로 전달할 수 있습니다.
server { ... location / { ... # 配置关键词代理 proxy_pass http://$app_name.backend.com; } }
이 구성에서 키워드 ACL은 요청된 URL 이름에서 요청된 애플리케이션과 일치하며, 프록시 지시문을 통해 클라이언트의 요청을 해당 백엔드 애플리케이션으로 라우팅합니다.
블랙리스트 기반 ACL
블랙리스트 ACL은 특정 IP 또는 요청된 URL의 액세스를 차단하는 데 사용되는 방법입니다. 이 접근 방식은 일부 상황에서 매우 유용합니다. 예를 들어 악의적인 공격이 발생하는 경우 관리자는 Nginx 리버스 프록시에서 블랙리스트 ACL을 구성하여 IP 주소 그룹에 대한 액세스를 거부할 수 있습니다. 블랙리스트 ACL을 사용하여 특정 일반적인 공격 URL을 거부할 수도 있습니다.
블랙리스트 기반 ACL을 구성하는 방법은 다음과 같습니다.
http { ... # 黑名单acl geo $blocked_ip { default 0; include /path/to/blacklists/ip.txt; } }
이 구성에서 geo 지시문은 차단된 IP 주소 목록을 저장하는 데 사용되는 $blocked_ip라는 메모리 변수를 정의합니다. 이 예에서는 외부 IP 주소 블랙리스트 파일이 사용됩니다. 파일 형식은 다음과 같습니다.
10.2.1.10 1; 192.168.0.0/24 1; 202.102.85.154 1;
파일의 각 줄에는 CIDR 형식의 IP 주소 또는 네트워크 세그먼트가 포함되어 있으며 그 뒤에는 이 IP 주소 또는 CIDR 네트워크 세그먼트가 차단되었음을 나타내는 숫자 1이 표시됩니다.
다음으로 Nginx 구성에서 이 블랙리스트 ACL을 사용할 수 있습니다.
server { ... location / { ... # 配置黑名单ACL if ($blocked_ip) { return 403; } proxy_pass http://backend.com; } }
이 구성에서는 if 지시문을 사용하여 요청된 IP 주소가 블랙리스트에 있는지 확인합니다. 그렇다면 403 액세스 금지 응답이 직접 반환됩니다. . 그렇지 않으면 요청이 백엔드 프록시 서버로 라우팅됩니다.
요약하자면, Nginx 리버스 프록시는 매우 유연한 요청 라우팅 및 액세스 제어를 달성하기 위해 다른 기능 모듈과 함께 사용할 수 있는 우수한 ACL 모듈을 제공합니다. 역방향 프록시를 사용할 때 이러한 방법을 이해하고 익히면 다양한 상황에 더 잘 적응하고 네트워크 서비스의 품질과 보안을 향상시킬 수 있습니다.
위 내용은 Nginx 리버스 프록시의 키워드 및 블랙리스트를 기반으로 한 ACL 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Nginx와 Apache는 성능, 확장 성 및 효율성 측면에서 고유 한 장점과 단점을 가진 강력한 웹 서버입니다. 1) NGINX는 정적 컨텐츠를 처리하고 역전 프록시를 처리 할 때 잘 수행되며 동시 동시성 시나리오에 적합합니다. 2) Apache는 동적 컨텐츠를 처리 할 때 더 나은 성능을 발휘하며 풍부한 모듈 지원이 필요한 프로젝트에 적합합니다. 서버 선택은 프로젝트 요구 사항 및 시나리오에 따라 결정해야합니다.

Nginx는 높은 동시 요청을 처리하는 데 적합한 반면 Apache는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 이벤트 중심의 비 블로킹 아키텍처를 채택하며, 대결 환경에 적합합니다. 2. Apache는 프로세스 또는 스레드 모델을 채택하여 복잡한 구성 요구에 적합한 풍부한 모듈 생태계를 제공합니다.

Nginx는 웹 사이트 성능, 보안 및 확장 성을 향상시키는 데 사용될 수 있습니다. 1) 리버스 프록시 및로드 밸런서로서 Nginx는 백엔드 서비스를 최적화하고 트래픽을 공유 할 수 있습니다. 2) 이벤트 중심 및 비동기 아키텍처를 통해 Nginx는 높은 동시 연결을 효율적으로 처리합니다. 3) 구성 파일을 사용하면 정적 파일 서비스 및로드 밸런싱과 같은 규칙을 유연하게 정의 할 수 있습니다. 4) 최적화 제안에는 GZIP 압축 활성화, 캐시 사용 및 작업자 프로세스 조정이 포함됩니다.

NginxUnit은 여러 프로그래밍 언어를 지원하며 모듈 식 디자인을 통해 구현됩니다. 1. 언어 모듈로드 : 구성 파일에 따라 해당 모듈을로드합니다. 2. 응용 프로그램 시작 : 호출 언어가 실행될 때 응용 프로그램 코드를 실행합니다. 3. 요청 처리 : 응용 프로그램 인스턴스로 요청을 전달하십시오. 4. 응답 반환 : 처리 된 응답을 클라이언트에 반환합니다.

Nginx와 Apache는 고유 한 장점과 단점이 있으며 다른 시나리오에 적합합니다. 1.NGINX는 높은 동시성 및 낮은 자원 소비 시나리오에 적합합니다. 2. Apache는 복잡한 구성 및 풍부한 모듈이 필요한 시나리오에 적합합니다. 핵심 기능, 성능 차이 및 모범 사례를 비교하면 요구에 가장 적합한 서버 소프트웨어를 선택할 수 있습니다.

질문 : nginx를 시작하는 방법? 답변 : nginx 스타트 업 설치 nginx verification nginx is nginx 시작 다른 시작 옵션을 자동으로 시작합니다.

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

Nginx 서비스를 종료하려면 다음 단계를 따르려면 다음 단계를 결정합니다. Red Hat/Centos (SystemCTL 상태 NGINX) 또는 Debian/Ubuntu (서비스 NGINX 상태) 서비스 중지 : Red Hat/Centos (SystemCTL STOP NGINX) 또는 DEBIAN/UBUNTU (서비스 NGINX STOP) DIA AUTAL STARTUP (옵션) : RED HAT/CENTOS (SystemCTLED) 또는 DEBIAN/UBUNT (SystemCTLED). (Syst


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
