AWS Apache2 ELB의 Classic Load Balancer에서 HTTP 트래픽을 HTTPS로 리디렉션하는 법
서버 직접 관리

AWS Apache2 ELB의 Classic Load Balancer에서 HTTP 트래픽을 HTTPS로 리디렉션하는 법

by nocagklhw 2019. 5. 8.

해결 방법

Apache, NGINX 및 IIS 웹 서버에 대한 다음 예제 구성을 검토합니다. X-Forwarded-Proto 헤더를 사용하여 클라이언트가 HTTP를 사용하는지 또는 HTTPS를 사용하는지에 따라 트래픽을 지정하도록 Classic Load Balancer 배후의 웹 서버를 구성합니다. 다음과 같은 다시 쓰기 규칙을 웹 서버에 추가해야 합니다.

  • HTTP를 사용하는 클라이언트를 HTTPS URL로 리디렉션
  • 직접 HTTPS를 사용하는 클라이언트 지원

중요: 다음 구성이 예제로 제공됩니다. 사용하는 애플리케이션 버전 맟 사용 사례를 기반으로 수정합니다.

Apache 서버: 가상 호스트 파일 메서드(권장)

1.    Apache 구성 파일을 엽니다. 가능한 위치로, /etc/httpd/conf/httpd.conf(Apache 2/httpd), /etc/apache2/sites-enabled/(Apache 2.4) 또는 /etc/apache2/apache2.conf(Apache on Ubuntu)가 있습니다.

2.    구성 파일의 VirtualHost 섹션에 다음과 비슷한 다시 쓰기 규칙을 추가합니다. 

<VirtualHost *:80> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} =http RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent] </VirtualHost>

3.    Apache 구성 파일을 저장합니다.

4.    Apache를 다시 시작합니다.

Apache 서버: .htaccess 파일 메서드(권장되지 않음)

경고: 이전 섹션에서 설명하는 Apache 가상 호스트 파일 메서드를 사용하는 것이 모범 사례입니다. Apache .htaccess 파일 지침에 따라 기본 Apache 구성 파일에 대한 액세스 권한이 없는 경우에만 .htaccess 파일을 사용합니다.

1.    Apache 구성 파일을 엽니다. 가능한 위치로, /etc/httpd/conf/httpd.conf(Apache 2/httpd) 또는 /etc/apache2/sites-enabled/(Apache 2.4)가 있습니다.

2.    다음과 같이 .htaccess를 활성화하도록 Directory 명령을 편집합니다. 

<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

3.    Apache 구성 파일을 저장합니다.

4.    .htaccess 파일을 엽니다.

5.    다음과 비슷한 다시 쓰기 규칙을 추가합니다. 

RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} =http RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

6.    .htaccess 파일을 저장합니다.

7.    Apache를 다시 시작합니다.

 

 

 

https://aws.amazon.com/ko/premiumsupport/knowledge-center/redirect-http-https-elb/

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로