외부 요청을 HTTP(80 포트)로 받아 내부 또는 외부의 원격 워드프레스 서버(http://192.168.x.x 등)로 리버스 프록시 포워딩을 수행하려면 Nginx 설정 파일에 proxy_pass 및 필수 헤더 전달 설정을 구성해야 합니다. SSL(HTTPS) 인증서 설정이 필요 없으므로 구성이 비교적 단순하지만, 클라이언트의 실제 IP와 호스트 정보를 원격 워드프레스에 정확히 전달하는 것이 중요합니다. [1]


1. Nginx HTTP 리버스 프록시 설정 (/etc/nginx/conf.d/wordpress_http_proxy.conf)

프록시 역할을 하는 서버의 Nginx 설정 파일에 80 포트 리슨 블록을 작성합니다.

nginx

server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com; # 프록시 서버 도메인 또는 IP 입력

    location / {
        # 원격 워드프레스 서버 주소 입력 (IP 또는 내부 도메인 및 포트)
        proxy_pass http://192.168.10.50:80; # 예: http://원격서버_IP:포트

        # 원격 워드프레스로 클라이언트 정보 전달 헤더
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;

        # 대용량 파일 업로드 및 타임아웃 최적화
        client_max_body_size 100M;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
    }
}

코드를 사용할 때는 주의가 필요합니다.


2. 원격 워드프레스 서버 설정 (wp-config.php)

원격 워드프레스가 일반 HTTP 환경이므로 URL 설정을 명확히 잡아주어야 주소 깨짐이나 리다이렉트 오류를 막을 수 있습니다. 원격 워드프레스 설치 경로의 wp-config.php 상단(<?php 바로 아래)에 아래 내용을 추가합니다.

php

<?php
// 실제 접속자 IP 보존 설정
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

// 워드프레스 홈 및 사이트 URL 설정 (프록시 도메인/주소 기준)
define('WP_HOME', 'http://your-domain.com');
define('WP_SITEURL', 'http://your-domain.com');

코드를 사용할 때는 주의가 필요합니다.


3. 설정 반영 및 확인

  1. Nginx 문법 오류 검사: sudo nginx -t
  2. Nginx 서비스 재시작: sudo systemctl restart nginx
  3. 브라우저에서 http://your-domain.com으로 접속하여 워드프레스 화면 및 관리자 로그인 페이지가 정상 동작하는지 확인합니다.

만약 추가적인 도움이 필요하시면 말씀해 주세요:

  • HTTP로 운영 중인 프록시 환경에서 나중에 SSL(HTTPS)을 추가로 적용하는 방법
  • 포워딩 과정에서 CSS/JS 에셋이 로드되지 않거나(Mixed Content 등) 403/502 오류가 발생할 때 대처법

AI 대답에는 오류가 있을 수 있습니다. 자세히 알아보기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다