워드프레스에 HTTPS를 적용하면서 .htaccess의 재작성 규칙과 wp-config.php의 설정을 수정했습니다. 앞단 프록시가 넘겨주는 X-Forwarded-Proto 헤더를 보고 HTTPS로 인식하도록 한 것이 핵심입니다.
1. .htaccess 수정
워드프레스 기본 재작성(rewrite) 규칙입니다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
2. wp-config.php 추가
사이트 주소를 지정하고, 프록시가 보낸 X-Forwarded-Proto 값이 https이면 워드프레스가 HTTPS 요청으로 인식하도록 합니다. domain.com은 실제 도메인으로 바꿉니다.
define('WP_HOME','http://domain.com');
define('WP_SITEURL','http://domain.com');
#define('WP_ALLOW_MULTISITE', true);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}
#define('ADMIN_COOKIE_PATH', '/');
#define('COOKIE_DOMAIN', '');
#define('COOKIEPATH', '');
#define('SITECOOKIEPATH', '');
3. 정리
- 프록시 뒤에 있는 워드프레스는 X-Forwarded-Proto를 확인하도록 설정해야 HTTPS 무한 리디렉션 같은 문제가 생기지 않습니다.
- 수정할 내용 전체는 아래 첨부 파일에 있습니다.
728x90
'Web & DB > WordPress' 카테고리의 다른 글
| [WordPress] 외부 접속이 안 될 때 HOME, SITE URL 변경 (3) | 2021.09.25 |
|---|
서울
--:--:--
-전체 글
-카테고리
오늘 방문