역방향 프록시에서 Kestrel을 사용하는 경우

Kestrel는 단독으로 사용하거나 ‘역방향 프록시 서버’와 함께 사용할 수 있습니다. 역방향 프록시 서버는 네트워크에서 HTTP 요청을 받아서 Kestrel에 전달합니다. 역방향 프록시 서버의 예는 다음과 같습니다.

Kestrel은 에지(인터넷 연결) 웹 서버로 사용됩니다.

Kestrel communicates directly with the Internet without a reverse proxy server

Kestrel은 역방향 프록시 구성에 사용됩니다.

Kestrel communicates indirectly with the Internet through a reverse proxy server, such as IIS, Nginx, or Apache

역방향 프록시 서버가 있는 구성과 없는 구성 모두 지원되는 호스팅 구성입니다.

Kestrel이 역방향 프록시 서버 없이 에지 서버로 사용되는 경우 여러 프로세스 간에 동일한 IP 주소 및 포트 공유는 지원되지 않습니다. Kestrel이 포트에서 수신 대기하도록 구성된 경우 Kestrel은 요청의 Host 헤더와 관계없이 해당 포트의 모든 트래픽을 처리합니다. 포트를 공유할 수 있는 역방향 프록시는 고유 IP 및 포트에서 Kestrel에 요청을 전달할 수 있습니다.

역방향 프록시 서버가 필요하지 않은 경우에도 역방향 프록시 서버를 사용하는 것은 적합한 선택일 수 있습니다.

역방향 프록시:

  • 호스트하는 앱의 공개된 공용 노출 영역을 제한할 수 있습니다.
  • 추가적인 구성 및 방어 계층을 제공합니다.
  • 기존 인프라와 잘 통합될 수 있습니다.
  • 부하 분산 및 HTTPS(보안 통신) 구성을 간소화합니다. 역방향 프록시 서버만 공용 do기본에 대한 X.509 인증서가 필요합니다. 해당 서버는 로컬로 관리되는 인증서가 있는 일반 HTTP 또는 HTTPS를 사용하여 내부 네트워크의 앱 서버와 통신할 수 있습니다. 내부 HTTPS는 보안을 강화하지만 상당한 오버헤드를 추가합니다.

Warning

역방향 프록시 구성에서 호스팅하려면 호스트 필터링이 필요합니다.

추가 리소스

프록시 서버 및 부하 분산 장치를 사용하도록 ASP.NET Core 구성