← Back to blog

mod_proxy 확장 가이드: Apache를 리버스 프록시로 사용하기

Category
mod_proxy 확장 가이드: Apache를 리버스 프록시로 사용하기

소개

서드파티 확장은 매우 유용한 추가 기능입니다. 이를 통해 Apache HTTP와 같은 서버를 구성하고 작업하는 경험이 훨씬 더 간단해지고 수월해집니다. 필요한 경우 Apache에서 이러한 모듈 중 일부를 사용하여 역방향 프록시(reverse proxy)를 실행할 수도 있습니다. 서버 설정에서 레이어를 제거하거나 모듈을 사용하여 연결을 리디렉션할 수 있습니다.

이 가이드에서는 Apache와 mod_proxy 등 이 서버 플랫폼과 관련된 다양한 모듈에 대해 논의할 것입니다. 또한 이를 어떻게 역방향 프록시로 사용하여 백엔드 애플리케이션 서버로 연결을 리디렉션할 수 있는지 알아보겠습니다.

Apache란 무엇인가요?

Apache는 웹 관련 목적으로 매우 흔히 사용되는 HTTP 서버입니다. 하지만 다양한 이유로 여러 플랫폼에서 사용할 수 있습니다. 단계별 튜토리얼을 따라 Ubuntu에 Apache 웹 서버를 설치할 수 있습니다. 또한, Let’s Encrypt로 Apache 서버를 보호하는 방법을 배우려면 이 튜토리얼을 따르십시오. Ubuntu 20.04에서 Apache 가상 호스트를 설정하는 방법.

외부 모듈의 도움을 받아 Apache의 기능과 구현을 더 자세히 탐색할 수 있습니다. 이들은 연결 및 구성과 관련된 다양한 작업을 수행하는 데 사용할 수 있는 서드파티 모듈입니다. 예를 들어, mod_rewrite 모듈을 사용하여 규칙 기반 URL 재작성을 수행할 수 있습니다. 이러한 모듈 중 또 다른 하나는 mod_proxy입니다. 후자의 모듈은 커뮤니티에서 크게 활용되지 않고 있습니다. 주로 많은 사람들이 그 기능과 응용의 범위를 알지 못하기 때문입니다. 이름에서 알 수 있듯이 Mod_proxy는 백엔드 서버를 위한 게이트웨이나 프록시를 구축하는 데 도움을 줄 수 있습니다.

그럼 mod_proxy에 대해 자세히 알아보고, 이를 역방향 프록시로 사용하는 방법을 살펴보겠습니다.

Mod_proxy: Apache를 역방향 프록시로 사용하기

짐작하시겠지만, mod_proxy는 모듈입니다. 이는 다양한 연결을 형성하고 리디렉션하는 데 사용할 수 있는 Apache의 모듈입니다. 시스템의 다른 모듈과 마찬가지로 활성화하고 구성할 수도 있습니다. mod_proxy의 독특한 점은 단 하나의 모듈이 아니라는 것입니다. 사실, 아래에서 볼 수 있듯이 여러 다양한 모듈의 모음으로 구성되어 있습니다. 이들 각각은 고유한 기능을 수행합니다. 이러한 방식으로 mod_proxy는 기능면에서 매우 다양한 다양성을 제공합니다.

다음 mod_proxy 모듈들을 살펴보십시오:

mod_proxy

이것은 메인 프록시 모듈입니다. Apache에서 이 모듈을 사용하여 다양한 연결을 구성하고 관리할 수 있습니다. 또한 연결을 리디렉션하는 데 도움을 줄 수 있습니다.

mod_proxy_http

이름에서 알 수 있듯이, 이 모듈은 HTTP 및 HTTPS 프로토콜을 다룹니다. 이 모듈을 사용하여 이러한 프로토콜의 프록시 기능을 구현할 수 있습니다.

mod_proxy_ftp

Mod_proxy_ftp는 FTP 프로토콜을 다룰 때 작동합니다.

mod_proxy_connect

이 모듈은 SSL 터널링을 수행할 때 유용합니다.

mod_proxy_ajp

AJP 프로토콜로 작업할 때 mod_proxy_ajp를 사용할 수 있습니다.

mod_proxy_wstunnel

이것은 WS 및 WSS와 같은 웹 소켓으로 작업할 때 유용합니다.

mod_proxy_balancer

로드 밸런싱 및 클러스터링 기능에 액세스하려는 경우 이 모듈을 사용할 수 있습니다.

mod_cache

mod_cache 모듈은 예상대로 캐싱 목적으로 유용합니다.

mod_headers

이 모듈을 사용하여 HTTP 프로토콜을 통해 생성하는 헤더를 관리할 수 있습니다.

mod_deflate

이 모듈은 압축 목적으로 사용됩니다.

이러한 모듈에 대해 더 자세히 알고 싶다면, 공식 Apache 웹사이트를 방문하십시오. 공식 문서에서는 mod_proxy 및 Apache 자체에 대한 더 많은 정보를 제공합니다.

Apache 및 mod_proxy를 설치하는 방법은 무엇인가요?

시스템에 Apache 및 mod_proxy를 설치하기 위해 쉽게 따라할 수 있는 단계는 다음과 같습니다:

  1. 서버 준비

가장 먼저 클라우드 서버가 준비되었는지 확인해야 합니다. 이를 위해 운영 체제 및 관련 소프트웨어를 최신 버전으로 업데이트해야 합니다.

다음 명령을 사용하여 애플리케이션을 업그레이드하십시오:

  1. 필수 패키지 설치

서버가 준비되면 필수 도구를 갖추어야 합니다. 이를 위해 build-essential 패키지를 설치해야 합니다. 이 패키지는 소스에서 무언가를 설치하는 데 필요한 모든 기본 도구로 구성되어 있습니다. 다음 명령어로 설치할 수 있습니다:

  1. 모듈 및 종속성 가져오기

마지막으로 모듈과 종속성을 설치해야 합니다. 다음 명령어를 실행하여 설치할 수 있습니다:

모듈 활성화: 프록시 연결로 Apache를 구성하는 방법은 무엇인가요?

Apache를 구성하기 전에 먼저 모듈을 활성화해야 합니다. 이 모듈들은 필요한 구성을 설정하고 다양한 작업을 수행하는 데 도움이 됩니다.

우선, 시스템에서 이미 작동 중인 모듈이 무엇인지 확인해야 합니다. 그뿐만 아니라 모든 모듈이 올바르게 설치되었고 활성화할 수 있는지 확인해야 합니다. 이 명령어를 실행하면 Apache 서버에서 사용할 수 있는 모든 모듈이 표시됩니다:

a2enmod output

보시다시피, 응답에는 사용 가능한 모든 모듈이 상세한 목록 형태로 표시됩니다. 이 목록을 살펴보고 활성화할 모듈을 결정하세요. Apache에 이를 알리려면 다음 명령어를 사용하고 예시 대신 원하는 모듈을 입력하면 됩니다:

반면에 각 모듈을 개별적으로 활성화할 수도 있습니다. 그렇게 하려면 다음 명령어들을 사용합니다:

일부 모듈은 서버에서 기본적으로 활성화되어 있을 수 있습니다. 활성화 여부를 어떻게 확인하는지 궁금할 수 있습니다. 원하는 모듈이 활성화되어 있는지 확인하려면 두 번 활성화를 시도해 볼 수 있습니다. 이렇게 하면 모듈이 확실히 활성화됩니다.

  1. 기본 구성 설정 변경

먼저 기본 구성 설정을 변경해야 합니다. 그러려면 기본 구성 파일인 000-default.conf에 액세스해야 합니다. 이 파일은 /etc/apache2/sites-enabled 내에 위치해 있습니다. 프록시 기능을 수행할 수 있도록 이 파일을 수정해야 합니다.

기본 가상 호스트를 편집하기 위해 nano 텍스트 편집기를 여는 것부터 시작합니다. 다음 명령어를 실행하여 이 작업을 수행할 수 있습니다:

여기서는 mod_virtual host와 mod_proxy를 통칭하여 프록시 가상 호스트라고 부르겠습니다. 이제 다음 구성 설정을 적용할 수 있습니다. 시스템과 요구 사항에 맞게 필요한 변경을 수행할 수 있습니다:

Ctrl + X를 누르고 Y를 입력하여 확인하면 저장하고 종료할 수 있습니다.

  1. 로드 밸런싱 기능 활성화

로드 밸런싱 은 프록시의 연결을 효과적으로 분산하는 데 도움이 됩니다. 이는 단일 서버 대신 여러 백엔드 애플리케이션 서버를 사용할 때 매우 유용한 개념입니다. 로드 밸런싱 기능은 연결 또는 '부하(load)'를 분산해 줍니다.

이 기능을 활성화하려면 이 가이드에서 앞서 언급한 단계를 반복해야 합니다. 다만, 가상 호스트를 설정할 때 다음 구성 설정을 사용해야 합니다:

  1. 역방향 프록시 지원 활성화

만약 SSL 연결 및 인증서를 다루고 있다면 가상 호스트가 역방향 프록시를 지원하도록 설정해야 합니다. 이 보조 가상 호스트는 다음과 같은 설정을 가져야 합니다. 이전 단계의 지침을 수행해야 합니다. 구성 옵션을 아래에 언급된 옵션으로 바꾸기만 하면 됩니다:

위의 구성이 작동하려면 SSL 모듈도 활성화해야 합니다:

  1. Apache 재시작

모든 구성이 완료되었습니다. 마지막으로 변경 사항을 적용하기 위해 Apache 서버를 재시작할 수 있습니다. 다음 명령을 실행하여 Apache를 재시작할 수 있습니다:

결론

짜잔! Apache 서버에 역방향 프록시 게이트웨이를 성공적으로 설정했습니다. 이제 Apache가 들어오는 연결을 백엔드의 애플리케이션 서버로 리디렉션합니다.

이 방법의 장점은 구성 과정에 노력이 거의 들지 않고 매우 간단하다는 것입니다. 이제 정확한 단계를 알았으니 Apache에서 역방향 프록시를 설정하는 데 전혀 어려움이 없을 것입니다.

즐거운 컴퓨팅 되세요!

Akshay Nagpal

작성자 · CloudSigma

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.