Nginx를 역방향 프록시로 사용하는 방법

Nginx를 역방향 프록시로 사용하는 방법

Apache 외에 Nginx는 가장 널리 사용되는 웹 서버입니다. 웹 서버일 뿐만 아니라 로드 밸런서나 역방향 프록시로도 사용할 수 있습니다. 이 튜토리얼에서 Quantrimang.com은 Nginx를 역방향 프록시로 사용하는 방법을 보여줍니다.

역방향 프록시란 무엇입니까?

프록시 서버는 클라이언트와 다른 서버 사이의 중개자 역할을 합니다. 프록시 서버는 연결하려는 서버에서 리소스를 검색하여 볼 수 있도록 보냅니다. 역방향 프록시는 역할이 반대라는 점을 제외하면 동일한 방식으로 작동합니다. 서버에서 정보를 요청하면 역방향 프록시는 요청을 보류하고 이를 적절한 백엔드 서버로 보냅니다. 이를 통해 시스템 관리자는 여러 응용 프로그램에 서버를 사용할 수 있을 뿐만 아니라 클라이언트와 서버 간의 원활한 트래픽 흐름을 보장할 수 있습니다.

Nginx를 역방향 프록시로 사용하는 방법

역방향 프록시의 이점

애플리케이션에 따라 역방향 프록시 사용 사례가 다를 수 있습니다.

  • 역방향 프록시를 사용하면 동일한 서버에서 여러 애플리케이션을 실행할 수 있습니다 . 동일한 서버에서 여러 애플리케이션을 실행하는 경우 포트 80 또는 433에서 동시에 모두 "수신"할 수 없습니다. 역방향 프록시를 사용하면 구성할 수 있습니다. 필요한 경우 트래픽을 개별 애플리케이션으로 리디렉션합니다.
  • 로드 밸런싱 - 동일한 애플리케이션을 실행하는 서버가 여러 개 있는 경우 역방향 프록시를 사용하여 각 서버에 트래픽을 균등하게 분산할 수 있습니다.
  • 웹 애플리케이션 방화벽 - 역방향 프록시를 사용하여 애플리케이션을 숨기고 스팸 IP를 필터링하거나 DDOS 공격 으로부터 보호할 수 있습니다 .
  • 간편한 로깅 및 감사 - 들어오는 모든 트래픽은 역방향 프록시로 관리되므로 트래픽 흐름을 더 쉽게 기록하고 모니터링할 수 있습니다.

Nginx를 역방향 프록시로 구성

Nginx를 역방향 프록시로 설정하기 위해 이 문서에서는 Nginx 구성 파일의 Proxy_pass 매개변수를 사용합니다.

참고 : 이 튜토리얼에서는 귀하가 Nginx에 대한 지식이 있고 서버에 Nginx를 설치 및 설정했다고 가정합니다.

대부분의 사용 사례에서 Nginx는 들어오는 요청에 대해 포트 80(HTTP) 또는 443(HTTPS)을 "수신"하는 프런트 엔드 서버가 됩니다. 포트 80 또는 443에서는 하나의 서비스만 "수신"할 수 있으므로 애플리케이션은 포트 8081과 같은 다른 포트에서 "수신"해야 합니다. 가장 간단한 구성은 다음과 같습니다.

server {
listen 80;
listen [::]:80;
server_name myapp.com;
location / {
proxy_pass http://localhost:8081/;
}
}

즉, 포트 80 에서 myapp.com 에 대한 모든 요청이 포트 8081로 리디렉션됩니다 .

고급 설정

Proxy_pass 지시문 외에도 고급 설정에 사용할 수 있는 몇 가지 다른 지시문이 있습니다.

  • Proxy_set_header - 백그라운드 애플리케이션으로 보낼 헤더를 설정할 수 있습니다. 예를 들어 다음 구성을 참조하세요.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

애플리케이션에 전달할 필수 프록시 헤더를 설정하고 요청 IP 및 원격 주소를 지정한 다음 요청 웹 사이트에 올바른 콘텐츠를 출력할 수 있습니다.

  • 프록시 시간 초과 - 프록시 요청을 보내고 받기 위한 시간 초과 값을 설정할 수 있습니다. 예를 들어:
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
  • Proxy_buffers - 이를 통해 Nginx는 일시적으로 프록시 서버의 응답을 보유하고 프록시 서버가 응답을 마친 후에만 요청 서버로 이를 보낼 수 있습니다. 예를 들어:
proxy_buffers 32 4k;

애플리케이션이 많은 수의 파일을 전송하는 경우 Proxy_buffers를 비활성화할 수 있습니다.

proxy_buffering off;

보시다시피 Nginx는 다양한 용도로 사용되는 역방향 프록시 서버입니다. 가장 큰 장점은 구성이 간단하고 ��용이 쉬우며 더 복잡한 시나리오에서도 확장이 가능하다는 것입니다. 자세한 내용은 Nginx 프록시 모듈 설명서( https://nginx.org/en/docs/http/ngx_http_proxy_module.html) 또는 구성 예제( https://www .nginx.com/resources/wiki) 를 참조하세요. /시작/주제/예제/전체/).

당신이 성공하기를 바랍니다.


Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chrome OS는 사용자가 Chromebook을 별도의 화면이나 TV에 연결할 수 있는 다양한 방법을 지원합니다.

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

iTop Data Recovery는 Windows 컴퓨터에서 삭제된 데이터를 복구하는 데 도움이 되는 소프트웨어입니다. 이 가이드에서는 iTop Data Recovery 사용 방법에 대해 자세히 설명합니다.

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

느린 PC와 Mac의 속도를 높이고 유지 관리하는 방법과 Cleaner One Pro와 같은 유용한 도구를 알아보세요.

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX는 LOB 애플리케이션부터 Microsoft Store, Store for Business 또는 기타 방법을 통해 배포되는 애플리케이션까지 지원하는 크로스 플랫폼 설치 관리자입니다.

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

컴퓨터 키보드가 작동을 멈춘 경우, 마우스나 터치 스크린을 사용하여 Windows에 로그인하는 방법을 알아보세요.

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

다행히 AMD Ryzen 프로세서를 실행하는 Windows 컴퓨터 사용자는 Ryzen Master를 사용하여 BIOS를 건드리지 않고도 RAM을 쉽게 오버클럭할 수 있습니다.

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

Microsoft Edge 브라우저는 명령 프롬프트와 같은 명령줄 도구에서 열 수 있도록 지원합니다. 명령줄에서 Edge 브라우저를 실행하는 방법과 URL을 여는 명령을 알아보세요.

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

이것은 컴퓨터에 가상 드라이브를 생성하는 많은 소프트웨어 중 5개입니다. 가상 드라이브 생성 소프트웨어를 통해 효율적으로 파일을 관리해 보세요.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

Microsoft의 공식 Surface 하드웨어 테스트 도구인 Surface Diagnostic Toolkit을 Windows Store에서 다운로드하여 배터리 문제 해결 등의 필수 정보를 찾으세요.

USB에 숨겨진 파일과 폴더를 표시하는 방법

USB에 숨겨진 파일과 폴더를 표시하는 방법

바이러스가 USB 드라이브를 공격하면 USB 드라이브의 모든 데이터를 "먹거나" 숨길 수 있습니다. USB 드라이브의 숨겨진 파일과 폴더를 표시하는 방법은 LuckyTemplates의 아래 기사를 참조하세요.