WordPress에 역방향 프록시를 설정하는 방법
게시 됨: 2023-01-16WordPress 관리자는 역방향 프록시 서버를 설정해야 하는 상황에 처할 수 있습니다. 다행히 리버스 프록시 서버 설정은 상대적으로 쉽고 사용할 수 있는 여러 가지 소프트웨어 패키지가 있습니다. 이 문서에서는 NGINX를 사용하여 WordPress 사이트에 역방향 프록시 서버를 설정하는 방법에 대한 간략한 개요를 제공합니다.
리버스 프록시 서버는 무엇이며 WordPress에 사용하는 이유
리버스 프록시 서버는 클라이언트를 대신하여 하나 이상의 서버에서 리소스를 검색합니다. 그런 다음 이러한 리소스는 프록시 서버에서 시작되었음을 알 수 있는 방법 없이 클라이언트에 전달됩니다.
리버스 프록시는 원래 서버의 존재와 특성을 숨길 수 있기 때문에 유용합니다. 예를 들어 리버스 프록시는 악의적인 요청이나 대량의 트래픽으로부터 웹 애플리케이션을 보호하여 웹 애플리케이션에 추가 보안, 성능 및 안정성 계층을 제공할 수 있습니다.
자세한 내용이 궁금한 경우 리버스 프록시 서버에 대해 자세히 알아보는 데 도움이 되는 온라인 리소스가 많이 있습니다. 리버스 프록시 서버를 설정해야 하는 몇 가지 일반적인 이유가 있습니다.
- 콘텐츠 캐싱으로 사이트 성능 향상
리버스 프록시의 일반적인 사용 사례는 자주 요청되는 WordPress 콘텐츠를 캐시하는 것입니다. 예를 들어 웹 서버 그룹이 웹 사이트를 제공하는 경우 리버스 프록시는 단일 서버에서 웹 사이트의 정적 콘텐츠(예: HTML 페이지, 이미지 및 CSS 파일)를 캐시할 수 있습니다. 이렇게 하면 사용자가 페이지를 요청할 때마다 웹 서버에서 콘텐츠를 검색할 필요가 없으므로 WordPress 웹 사이트의 성능이 향상될 수 있습니다.
- 이미지 크기 조정과 같은 CPU 집약적인 작업 오프로드
리버스 프록시 서버는 이러한 작업에 대한 요청을 더 잘 처리할 수 있는 서버로 전달하여 이미지 크기 조정과 같은 CPU 집약적인 작업을 WordPress 서버에서 오프로드할 수 있습니다. 이렇게 하면 다른 작업을 위해 WordPress 서버의 리소스를 확보하여 WordPress 사이트의 성능을 향상시킬 수 있습니다.
- 요청 필터링 및 악성 트래픽 차단을 통한 보안 강화
리버스 프록시 서버는 요청을 필터링하고 악성 트래픽을 차단하여 WordPress 보안을 향상시킬 수 있습니다. 역방향 프록시 서버는 요청을 필터링하여 악의적인 활동과 관련된 것으로 알려진 특정 IP 주소 또는 지역에 대한 액세스를 차단할 수 있습니다. 악의적인 트래픽을 차단함으로써 리버스 프록시 서버는 DDoS 공격 및 WordPress 사이트를 대상으로 하는 기타 공격의 영향을 완화하는 데 도움이 될 수 있습니다.
- 다른 도메인 또는 하위 도메인에서 WordPress에 액세스할 수 있도록 만들기
위에서 언급했듯이 리버스 프록시 서버는 클라이언트를 대신하여 하나 이상의 서버에서 리소스를 검색합니다. 이러한 리소스는 모든 파일 형식일 수 있지만 가장 일반적으로 웹 페이지입니다. 그런 다음 리버스 프록시 서버는 클라이언트에 이러한 리소스를 제공하고 마치 서버 자체에서 시작된 것처럼 나타납니다. 이는 WordPress 콘텐츠에 대한 요청을 WordPress 서버로 전달하도록 역 프록시 서버를 구성하는 동시에 클라이언트가 로컬 프록시 서버에서 직접 콘텐츠에 액세스하고 있다는 환상을 계속 제공함으로써 수행됩니다.
가장 인기 있는 리버스 프록시 서버
W3Techs에 따르면 웹사이트의 약 83%가 리버스 프록시 서비스를 사용하지 않습니다. 나머지 17%는 대부분 CDN입니다. 리버스 프록시는 일반적으로 보안 목적으로 자신의 존재를 숨기기 때문에 W3Techs와 같은 웹사이트 모니터링 서비스가 가장 널리 사용되는 것을 결정하기 어렵습니다. 다음은 가장 일반적으로 사용되는 세 가지 리버스 프록시 솔루션입니다.
- NGINX
NGINX는 향상된 성능, 안전성, 의존성 및 확장성과 같은 여러 이점을 제공하는 웹 서버입니다. 무료로 받거나 API 기반 설정 가능성이 있는 기업 웹 사이트용 상용 버전인 NGINX Plus를 사용할 수 있습니다. 꽤 많은 대기업에서 Cloudflare, Netflix, MaxCDN 등 NGINX를 사용합니다. NGINX를 리버스 프록시로 구성하는 것은 쉽고 필요에 맞게 개인화할 수 있습니다.
- 광택
Varnish는 트래픽이 많은 웹 사이트의 성능을 향상시킬 수 있는 일종의 오픈 소스 소프트웨어입니다. 리버스 프록시, 로드 밸런서, 웹 애플리케이션 방화벽 및 에지 인증 서버로 작동하며 더 빠른 페이지 로딩을 위해 ESI(Edge Side Include)를 지원합니다. NGINX 또는 Apache 웹 서버의 프런트 엔드로 사용하거나 WordPress의 역방향 프록시로 설정할 수 있습니다.
- 아파치 트래픽 서버
성능과 용량으로 유명한 오픈 소스 옵션인 Apache Traffic Server는 Yahoo!에서 처음 개발했습니다. Apache Foundation에 제공하기 전에 상용 서비스로. 현재 Akami, Apple, Comcast, LinkedIn 및 Yahoo를 포함한 많은 콘텐츠 네트워크 및 CDN에서 시스템을 향상시키기 위해 사용하고 있습니다. 또한 Apache HTTP 서버(Apache httpd)를 사용하여 웹 서버에 리버스 프록시를 설정하여 일반 웹 서버로 계속 작동하면서 정적 및 동적 콘텐츠를 사용자에게 제공할 수 있습니다.
- HA프록시
HAProxy는 Linux 시스템 및 클라우드 기반 플랫폼과 같은 많은 기존 웹 서버 아키텍처와 함께 작동하도록 설계된 무료 오픈 소스 리버스 프록시 및 로드 밸런서입니다. 이벤트 기반 I/O 모델을 활용하고 NGINX와 유사하게 여러 작업자 프로세스에 요청을 분산할 수 있습니다. HAProxy는 최대 부하 중에도 대량의 트래픽을 처리할 수 있는 능력으로 유명합니다. Airbnb, Reddit 및 Instagram과 같은 세계에서 가장 큰 일부 사이트에서 사용됩니다.
WordPress 사이트의 역방향 프록시 서버 사용 사례
다른 리버스 프록시를 사용할 수도 있지만 NGINX가 가장 인기 있는 선택입니다. 다음은 WordPress 사이트에 대해 역방향 프록시를 설정하는 세 가지 주요 사용 사례입니다.
- 단일 서버의 메인 및 프록시 웹사이트
기본 사이트와 프록시 사이트가 모두 동일한 웹 서버에서 호스팅되는 경우 프록시 사이트가 기본 사이트에서 로드되도록 역방향 프록시를 설정할 수 있습니다. 기본 사이트에서 모든 관련 역방향 프록시 규칙을 구성하고 프록시를 통해 로드하도록 프록시 사이트를 설정하여 이를 수행할 수 있습니다. 또한 SSL 인증서를 사용하는 경우 리디렉션 루프를 방지하기 위해 wp-config.php에 특정 규칙이 있어야 합니다. 사이트를 로드하는 데 사용된 것과 동일한 하위 디렉토리로 URL을 생성하는 것은 불가능합니다.
- 서버에서 프록시 사이트만 호스팅
리버스 프록시를 생성하려면 메인 웹사이트의 서버 관리자에게 연락하여 두 서버에서 규칙을 구성해야 합니다. 리버스 프록시를 가리키는 도메인 이름도 추가해야 합니다. 이는 일반적으로 프록시 사이트(예: your_domain.com/blog)에 연결된 하위 도메인(예: blog.your_domain.com)을 통해 수행됩니다. 설정 프로세스를 완료하려면 서버의 IP 주소가 필요합니다.
- 서버에서 호스팅되는 기본 사이트
기본 웹 사이트와 해당 호스팅 서버에만 액세스할 수 있는 경우 리버스 프록시를 설정하고 외부 호스트에서 페이지를 가져오도록 설정을 조정해야 합니다. 역방향 프록시를 통해 액세스할 프록시 사이트를 설치 및 구성하는 것은 보조 서버 관리자의 책임입니다.
WordPress에 대한 역방향 프록시를 설정하는 단계
WordPress용 리버스 프록시를 설정하는 것은 웹사이트 성능을 향상시키는 좋은 방법입니다. 또한 악의적인 요청으로부터 웹 서버를 보호하고 사용자 경험을 개선하는 데 도움이 될 수 있습니다. 다음은 WordPress용 역방향 프록시를 설정하는 데 필요한 단계입니다.
- 리버스 프록시 서버 설치
첫 번째 단계는 리버스 프록시 서버를 설치하는 것입니다. 무료 오픈 소스인 NGINX 웹 서버를 사용하는 것이 좋습니다. Apache와 같이 널리 사용되는 다른 웹 서버도 사용할 수 있지만 이 자습서에서는 NGINX를 사용한다고 가정합니다. 이미 실행 중인 Apache 웹 서버(192.xx20)와 함께 NGINX 리버스 프록시(192.xx10)를 사용한다고 가정해 보겠습니다.
Ubuntu 서버에 NGINX를 설치하는 것은 단일 명령을 실행하는 문제입니다.
sudo apt-get 업데이트
sudo apt-get 설치 nginx
NGINX가 설치되면 이 명령을 사용하여 가상 호스트를 비활성화합니다.
sudo unlink /etc/nginx/sites-enabled/default
이제 역방향 프록시를 만들 차례입니다. etc/nginx/sites-available 디렉토리에 reverse-proxy.conf라는 파일을 생성하면 됩니다. 우선 다음 디렉토리로 이동합니다.
CD 등/nginx/사이트 사용 가능
vi 편집기를 통해 파일을 생성합니다.
vi 리버스 프록시.conf
파일에 다음 줄을 추가합니다.
서버 {
80을 들어라.
위치 / {
프록시_패스 http://192.xx20;
}
}
보시다시피 프록시 패스는 리버스 프록시를 통해 들어오는 요청이 주 서버의 원격 소켓인 192.xx20:80으로 전달되도록 허용합니다. 즉, 두 서버 모두 콘텐츠를 공유합니다. 완료되면 파일을 저장하고 편집기를 종료합니다. 다른 서버로 정보를 전달하려면 터미널에서 ngx_http_proxy_module을 사용하십시오. 마지막으로 다음 명령으로 /sites-enabled/에 연결하여 지시문을 활성화해야 합니다.
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
남은 일은 리버스 프록시를 테스트하는 것뿐입니다. 성능을 확인하려면 구성 테스트를 실행하고 NGINX를 다시 시작해야 합니다. 아래 명령을 사용하여 NGINX가 작동하는지 확인합니다.
서비스 nginx 구성 테스트
서비스 nginx 재시작
테스트가 실패하면 Apache가 제대로 설정되지 않았을 수 있습니다.
리버스 프록시 서버 제한 사항
리버스 프록시는 통과하는 모든 트래픽을 관찰하고 수정할 수 있기 때문에 주요 보안 위험을 나타낼 수 있습니다. HTTPS 트래픽이 리버스 프록시를 통해 전송되면 데이터를 해독하고 다시 암호화해야 하며 SSL/TLS 인증서의 개인 키가 필요합니다. 해커가 이 리버스 프록시에 대한 액세스 권한을 얻으면 암호를 기록하고 웹 사이트에 악성 코드를 삽입할 가능성이 있습니다.
리버스 프록시는 귀하와 귀하의 사용자 모두 주 서버에 직접 액세스할 수 없는 경우 단일 실패 지점을 생성할 수 있습니다. 예를 들어 하나의 리버스 프록시가 여러 도메인에 서비스를 제공하는 경우 장애가 발생하면 모든 사이트에 액세스할 수 없게 됩니다. 타사 역방향 프록시를 사용하는 경우 사이트에 대한 중요한 세부 정보를 그들과 공유하고 있다는 사실을 잊지 마십시오.
결론
WordPress용 리버스 프록시를 설정하면 웹 사이트 보안 및 성능에 도움이 될 수 있습니다. WordPress용 리버스 프록시를 설정하는 단계는 서버 및 구성에 따라 다릅니다. 일반적으로 프록시 서버 구성, 백엔드 웹 서버 설정 및 WordPress 사이트 설정이 포함됩니다. 리버스 프록시 서버를 설정하는 것이 도움이 될 수 있지만 제한이 있습니다.