Ubuntu 24.04 Server / Apache / Reverse Proxy 구축

가정

  • 웹 서버 : 192.168.0.31
  • 도메인 : https://abc.memofactory.net

프록시 서버

  • 모듈 활성화
a2enmod proxy proxy_http headers
  • conf 파일
<IfModule mod_ssl.c>
  <VirtualHost *:443>

    ServerName abc.memofactory.net

    ProxyRequests Off
    ProxyPreserveHost On

    ProxyPass / http://192.168.0.31:80/
    ProxyPassReverse / http://192.168.0.31:80/

    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"

    ...

  </VirtualHost>
</IfModule>

웹서버

  • conf 파일
<VirtualHost *:80>

  ServerName abc.memofactory.net
  ...

</VirtualHost>

기타

  • 인증서는 프록시 서버에만 설치
  • 웹서버의 홈페이지 플랫폼이 워드프레스라면 wp-config.php에 다음 코드를 추가한다.
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';