외부 요청을 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. 설정 반영 및 확인
- Nginx 문법 오류 검사:
sudo nginx -t - Nginx 서비스 재시작:
sudo systemctl restart nginx - 브라우저에서
http://your-domain.com으로 접속하여 워드프레스 화면 및 관리자 로그인 페이지가 정상 동작하는지 확인합니다.
만약 추가적인 도움이 필요하시면 말씀해 주세요:
- HTTP로 운영 중인 프록시 환경에서 나중에 SSL(HTTPS)을 추가로 적용하는 방법
- 포워딩 과정에서 CSS/JS 에셋이 로드되지 않거나(Mixed Content 등) 403/502 오류가 발생할 때 대처법
AI 대답에는 오류가 있을 수 있습니다. 자세히 알아보기

답글 남기기