웹사이트 검색

Apache에서 HTTP를 HTTPS로 리디렉션하는 방법


HTTP(하이퍼 텍스트 전송 프로토콜)는 월드 와이드 웹(WWW)에서 데이터 통신을 위한 기본 프로토콜이자 널리 사용되는 프로토콜입니다. ); 일반적으로 웹 브라우저와 웹 파일을 저장하는 서버 사이에 있습니다. HTTPS는 HTTP의 보안 버전인 반면, 끝에 있는 'S'는 '보안'을 의미합니다.

HTTPS를 사용하면 브라우저와 웹 서버 사이의 모든 데이터가 암호화되어 안전합니다. 이 튜토리얼에서는 Linux의 Apache HTTP 서버에서 HTTPHTTPS로 리디렉션하는 방법을 보여줍니다.

도메인에 대한 HTTPS 리디렉션을 위해 Apache HTTP를 설정하기 전에 SSL 인증서가 설치되어 있는지 확인하고 mod_rewrite Strong>은 Apache에서 활성화됩니다. Apache에서 SSL을 설정하는 방법에 대한 자세한 내용은 다음 가이드를 참조하세요.

  1. Apache용 자체 서명 SSL 인증서 및 키를 만드는 방법
  2. CentOS/RHEL 7에 Let's Encrypt SSL 인증서를 설치하는 방법
  3. Debian/Ubuntu에 Let’s Encrypt SSL 인증서를 설치하는 방법

.htaccess 파일을 사용하여 Apache에서 HTTP를 HTTPS로 리디렉션

이 방법의 경우 mod_rewrite가 활성화되어 있는지 확인하고, 그렇지 않으면 Ubuntu/Debian 시스템에서 이와 같이 활성화합니다.

sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL 사용자의 경우 httpd.conf에 다음 줄이 있는지 확인하세요(mod_rewrite 지원 - 기본적으로 활성화되어 있음).

LoadModule rewrite_module modules/mod_rewrite.so

이제 도메인 루트 디렉터리에서 .htaccess 파일을 편집하거나 생성하고 다음 줄을 추가하여 http를 https로 리디렉션하기만 하면 됩니다.

RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

이제 방문자가 http://www.yourdomain.com을 입력하면 서버가 자동으로 HTTP를 HTTPS https://www.yourdomain.com으로 리디렉션합니다.

Apache 가상 호스트에서 HTTP를 HTTPS로 리디렉션

또한 모든 웹 트래픽이 HTTPS를 사용하도록 강제하기 위해 가상 호스트 파일을 구성할 수도 있습니다. 일반적으로 SSL 인증서가 활성화된 경우 가상 호스트 구성에는 두 가지 중요한 섹션이 있습니다. 첫 번째에는 비보안 포트 80에 대한 구성이 포함되어 있습니다.

두 번째는 보안 포트 443용입니다. 웹 사이트의 모든 페이지에 대해 HTTP를 HTTPS로 리디렉션하려면 먼저 적절한 가상 호스트 파일을 엽니다. 그런 다음 아래 구성을 추가하여 수정하세요.

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.yourdomain.com
   Redirect / https://www.yourdomain.com
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.yourdomain.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
etc...
</VirtualHost>

파일을 저장하고 닫은 후 다음과 같이 HTTP 서버를 다시 시작하십시오.

sudo systemctl restart apache2     [Ubuntu/Debian]
sudo systemctl restart httpd	     [RHEL/CentOS]

는 더 간단하고 안전하기 때문에 가장 권장되는 솔루션입니다.

다음과 같은 유용한 Apache HTTP 서버 보안 강화 기사를 읽고 싶을 수도 있습니다.

  1. 웹사이트 보안 및 사용자 정의를 위한 25가지 유용한 Apache '.htaccess' 요령
  2. .htaccess 파일을 사용하여 Apache에서 웹 디렉터리를 비밀번호로 보호하는 방법
  3. Apache 버전 번호 및 기타 민감한 정보를 숨기는 방법
  4. Mod_Security 및 Mod_evasive를 사용하여 무차별 공격 또는 DDoS 공격으로부터 Apache를 보호하세요.

그게 다야! 이 가이드에 관한 의견을 공유하려면 아래 피드백 양식을 사용하세요. 그리고 항상 linux-console.net에 연결되어 있다는 것을 기억하세요.