최근 nginx 소스 코드를 공부할 계획이었는데, nginx를 리버스 프록시 서버로 사용하여 로드 밸런싱을 완료할 수 있다는 온라인 소개를 봤습니다. 그래서 역방향 프록시 서버에 대한 몇 가지 정보를 수집하고 컴파일했습니다.
역방향 프록시 방식은 프록시 서버를 사용하여 인터넷에서 연결 요청을 수락한 다음 해당 요청을 내부 네트워크의 서버로 전달하고 서버에서 얻은 결과를 인터넷 요청으로 반환하는 것을 말합니다. 클라이언트, 이때 프록시 서버는 외부 세계에 서버로 나타납니다.
일반적인 프록시 서버는 내부 네트워크에서 인터넷으로의 연결 요청을 프록시하는 데에만 사용됩니다. 클라이언트는 프록시 서버를 지정하고 웹 서버로 직접 보낼 http 요청을 프록시 서버로 보내야 합니다. 프록시 서버가 외부 네트워크의 호스트를 프록시하여 내부 네트워크에 액세스할 수 있는 경우 이 프록시 서비스를 역방향 프록시 서비스라고 합니다.
역방향 프록시 서버를 구현하는 데는 일반적으로 두 가지 모델이 있습니다. 이는 콘텐츠 서버의 대체 장치로 사용되거나 콘텐츠 서버 클러스터의 로드 밸런서로 사용될 수 있습니다.替콘텐츠 서버 대체 콘텐츠 서버에 신용카드 번호 데이터베이스와 같이 안전하게 보관해야 하는 민감한 정보가 있는 경우 방화벽 외부에 프록시 서버를 설정하여 콘텐츠 서버를 대체할 수 있습니다. 외부 클라이언트가 콘텐츠 서버에 액세스하려고 하면 프록시 서버로 전송됩니다. 실제 콘텐츠는 콘텐츠 서버에 상주하며 방화벽 내부에서 안전하게 보호됩니다. 프록시 서버는 방화벽 외부에 위치하며 클라이언트에게 콘텐츠 서버로 나타납니다.
클라이언트가 사이트에 요청하면 해당 요청은 프록시 서버로 이동합니다. 그런 다음 프록시 서버는 방화벽의 특정 경로를 통해 클라이언트의 요청을 콘텐츠 서버로 보냅니다. 그런 다음 콘텐츠 서버는 이 채널을 통해 결과를 다시 프록시 서버로 보냅니다. 프록시 서버는 마치 프록시 서버가 실제 콘텐츠 서버인 것처럼 검색된 정보를 클라이언트에 보냅니다. 콘텐츠 서버가 오류 메시지를 반환하는 경우 프록시 서버는 메시지를 가로채서 클라이언트에 메시지를 보내기 전에 헤더에 나열된 모든 URL을 변경합니다. 이렇게 하면 외부 클라이언트가 내부 콘텐츠 서버에 대한 리디렉션 URL을 얻지 못하게 됩니다. 이런 방식으로 프록시 서버는 안전한 데이터베이스와 악의적인 공격 가능성 사이에 또 다른 장벽을 제공합니다. 행운의 공격이 성공하더라도 가해자는 전체 데이터베이스에 액세스할 수 있는 것에 비해 기껏해야 단일 트랜잭션과 관련된 정보에 액세스하는 것으로 제한됩니다. 방화벽 경로는 프록시 서버에 대한 접근만 허용하므로 인증되지 않은 사용자는 실제 콘텐츠 서버에 접근할 수 없습니다.
콘텐츠 서버용 로드 밸런서조직 내에서 여러 프록시 서버를 사용하여 웹 서버 간의 네트워크 로드 균형을 조정할 수 있습니다. 이 모델에서는 프록시 서버의 캐싱 기능을 활용하여 부하 분산을 위한 서버 풀을 생성할 수 있습니다. 이 시점에서 프록시 서버는 방화벽의 양쪽에 있을 수 있습니다. 웹 서버가 매일 많은 양의 요청을 받는 경우 프록시 서버를 사용하여 웹 서버의 부하를 공유하고 네트워크 액세스 효율성을 향상시킬 수 있습니다.
프록시 서버는 실제 서버에 대한 클라이언트 요청을 중개하는 역할을 합니다. 프록시 서버는 요청된 문서를 캐시합니다. 프록시 서버가 두 개 이상 있는 경우 DNS는 "라운드 로빈"을 사용하여 IP 주소를 선택하고 요청을 무작위로 라우팅할 수 있습니다. 클라이언트는 매번 동일한 URL을 사용하지만 요청이 수행되는 경로는 매번 다른 프록시 서버를 통과할 수 있습니다. 여러 프록시 서버를 사용하여 대용량 콘텐츠 서버에 대한 요청을 처리할 수 있습니다. 이 경우 콘텐츠 서버가 단독으로 작동할 때보다 더 높은 로드를 처리하고 더 효율적으로 작동할 수 있다는 이점이 있습니다. 초기 시작 중에 프록시 서버는 먼저 콘텐츠 서버에서 문서를 검색한 후 콘텐츠 서버에 대한 요청 수가 크게 줄어듭니다.
더 많은 Nginx 관련 기술 기사를 보려면
Nginx 사용법 튜토리얼칼럼을 방문하세요!
위 내용은 nginx에서 역방향 프록시를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

NGINX는 이벤트 중심 아키텍처 및 비동기 처리 기능을 통해 성능을 향상시키고 모듈 식 설계 및 유연한 구성을 통해 확장 성을 향상 시키며 SSL/TLS 암호화 및 요청 속도 제한을 통해 보안을 향상시킵니다.

NGINX는 동시성이 높은 자원 소비 시나리오에 적합하지만 APACHE는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 고성능과의 많은 동시 연결을 처리하는 것으로 알려져 있습니다. 2. Apache는 안정성과 풍부한 모듈 지원으로 유명합니다. 선택할 때는 특정 요구에 따라 결정해야합니다.

nginxissentialderformodernwebapplicationsduetoitsrolessareareverseproxy, loadbalancer 및 Webserver, HighperformanceAndscalability를 제공합니다

Nginx를 통해 웹 사이트 보안을 보장하려면 다음 단계가 필요합니다. 1. 기본 구성을 만들고 SSL 인증서 및 개인 키를 지정하십시오. 2. 구성 최적화, HTTP/2 및 OCSPStapling 활성화; 3. 인증서 경로 및 암호화 제품군 문제와 같은 공통 오류 디버그; 4. Let 'sencrypt 및 세션 멀티플렉싱 사용과 같은 응용 프로그램 성능 최적화 제안.

NGINX는 고성능 HTTP 및 리버스 프록시 서버로 높은 동시 연결을 처리하는 데 능숙합니다. 1) 기본 구성 : 포트를 듣고 정적 파일 서비스를 제공합니다. 2) 고급 구성 : 리버스 프록시 및로드 밸런싱을 구현하십시오. 3) 디버깅 기술 : 오류 로그를 확인하고 구성 파일을 테스트하십시오. 4) 성능 최적화 : GZIP 압축을 활성화하고 캐시 정책을 조정합니다.

Nginx 캐시는 다음 단계를 통해 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 영역을 정의하고 캐시 경로를 설정하십시오. 2) 캐시 유효성 기간 구성; 3) 다른 컨텐츠에 따라 다른 캐시 정책을 설정합니다. 4) 캐시 저장 및로드 밸런싱을 최적화합니다. 5) 캐시 효과를 모니터링하고 디버그합니다. 이러한 방법을 통해 NGINX 캐시는 백엔드 서버 압력을 줄이고 응답 속도 및 사용자 경험을 향상시킬 수 있습니다.

dockercompose를 사용하면 Nginx의 배포 및 관리를 단순화 할 수 있으며 Dockerswarm 또는 Kubernetes를 통한 스케일링은 일반적인 관행입니다. 1) DockerCompose를 사용하여 Nginx 컨테이너를 정의하고 실행하십시오. 2) Dockerswarm 또는 Kubernetes를 통한 클러스터 관리 및 자동 스케일링 구현.

NGINX의 고급 구성은 서버 블록 및 리버스 프록시를 통해 구현 될 수 있습니다. 1. 서버 블록을 사용하면 여러 웹 사이트를 한쪽으로 실행할 수있게되면 각 블록은 독립적으로 구성됩니다. 2. 리버스 프록시는 요청을 백엔드 서버로 전달하여로드 밸런싱 및 캐시 가속도를 실현합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

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

WebStorm Mac 버전
유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
