이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
리버스 프록시는 클라이언트를 대신하여 하나 이상의 서버에서 리소스를 검색하는 프록시 서버 유형입니다. 리버스 프록시는 성능을 개선하고 부하를 분산하며 보안을 제공하는 데 사용됩니다. 이 기사에서는 리버스 프록시 사용의 이점과 더 나은 성능을 위해 이를 구현하는 방법에 대해 설명합니다.
리버스 프록시를 사용하는 몇 가지 이유가 있습니다. 리버스 프록시는 리소스를 캐싱하고 여러 서버 간에 로드를 분산하여 성능을 향상시킬 수 있습니다. 또한 요청을 필터링하고 서버의 ID를 숨겨 보안을 제공할 수 있습니다.
리버스 프록시 사용의 주요 이점 중 하나는 캐싱입니다. 캐싱은 자주 액세스하는 데이터를 원래 데이터 소스보다 액세스하기 더 빠른 위치에 저장하는 기술입니다. 리소스를 캐싱함으로써 리버스 프록시는 원본 서버의 부하를 줄이고 성능을 향상시킬 수 있습니다.
캐싱을 구현하려면 리버스 프록시에 캐시 가능한 데이터 소스가 있어야 합니다. 캐시 가능한 데이터의 가장 일반적인 유형은 HTML 파일, 이미지 및 CSS 스타일시트와 같은 정적 콘텐츠입니다. 리버스 프록시는 PHP 애플리케이션의 응답과 같은 동적 콘텐츠를 캐시할 수도 있습니다. 그러나 동적 콘텐츠는 개인화된 데이터 또는 자주 변경되는 데이터를 포함하는 경우가 많기 때문에 캐시하기가 더 어렵습니다.
리버스 프록시 사용의 또 다른 이점은 로드 밸런싱입니다. 부하 분산은 여러 서버 간에 부하를 분산시키는 기술입니다. 로드 밸런싱 요청을 통해 리버스 프록시는 여러 서버 간에 로드를 분산하여 성능을 향상시킬 수 있습니다.
로드 밸런싱은 일반적으로 서버 그룹 간에 요청을 고르게 분배하는 라운드 로빈 알고리즘을 사용하여 구현됩니다. 그러나 다른 알고리즘을 사용하여 서버 로드 또는 기타 요인에 따라 로드를 분산할 수 있습니다.
리버스 프록시는 요청을 필터링하고 서버의 ID를 숨겨 보안을 제공할 수도 있습니다. 요청을 필터링함으로써 리버스 프록시는 악의적인 요청이 원본 서버에 도달하기 전에 차단할 수 있습니다. 역방향 프록시는 서버의 ID를 숨김으로써 공격자가 특정 서버를 대상으로 하지 못하도록 방지할 수 있습니다.
리버스 프록시를 구현하는 데 사용할 수 있는 많은 소프트웨어 패키지가 있습니다. 이 섹션에서는 Nginx 웹 서버를 사용하여 리버스 프록시를 구현하는 방법에 대해 설명합니다.
Nginx는 무료 오픈 소스 웹 서버입니다. 리버스 프록시, 로드 밸런서 및 HTTP 캐시로 사용할 수 있습니다. Nginx는 Linux, FreeBSD 및 Windows를 포함한 많은 운영 체제에서 사용할 수 있습니다.
Ubuntu에 Nginx를 설치하려면 다음 명령을 사용하십시오.
sudo apt-get install nginx
CentOS에 Nginx를 설치하려면 다음 명령을 사용하십시오.
sudo yum install nginx
기본 Nginx 구성 파일은 /etc/nginx/nginx.conf에 있습니다. 구성 파일은 섹션으로 나뉘며 각 섹션은 중괄호로 묶여 있습니다.
첫 번째 섹션은 events
섹션입니다. events
섹션은 이벤트 기반 처리 모듈을 정의합니다. events
섹션은 필수 항목이지만 비어 있을 수 있습니다.
두 번째 섹션은 http
섹션입니다. http
섹션은 HTTP 서버에 대한 전역 설정을 정의합니다. http
섹션이 필요합니다.
세 번째 섹션은 server
섹션입니다. server
섹션은 가상 서버를 정의합니다. server
섹션이 필요합니다.
네 번째 섹션은 location
섹션입니다. location
섹션은 특정 위치에 대한 설정을 정의합니다. location
섹션은 선택 사항입니다.
일반적인 Nginx 구성 파일은 다음과 같습니다.
events {
}
http {
server {
location / {
}
}
}
위의 예에서 events
섹션은 비어 있습니다. http
섹션에는 location
섹션을 포함하는 server
섹션이 있습니다. location
섹션이 비어 있습니다.
Nginx를 리버스 프록시로 구성하려면 location
섹션에 proxy_pass
지시문을 추가해야 합니다. proxy_pass
지시어는 프록시 서버에 요청을 전달하는 데 사용됩니다. proxy_pass
지시문은 HTTP 또는 FastCGI 서버와 함께 사용할 수 있습니다.
아래 예에서는 Nginx가 Apache HTTP 서버의 리버스 프록시 역할을 하도록 구성했습니다. proxy_pass
지시문은 요청을 Apache 서버로 전달합니다.
events {
}
http {
server {
location / {
proxy_pass http://localhost:8080;
}
}
}
위의 예에서는 Nginx가 PHP-FPM 서버의 리버스 프록시 역할을 하도록 구성했습니다. proxy_pass
지시문은 요청을 PHP-FPM 서버로 전달합니다.
events {
}
http {
server {
location / {
proxy_pass http://localhost:9000;
}
}
}
이 기사에서는 리버스 프록시 사용의 이점과 더 나은 성능을 위해 이를 구현하는 방법에 대해 논의했습니다. 리버스 프록시는 리소스를 캐싱하고 여러 서버 간에 로드를 분산하여 성능을 향상시킬 수 있습니다. 또한 요청을 필터링하고 서버의 ID를 숨겨 보안을 제공할 수 있습니다.