Apache에서 HTTP를 HTTPS로 리디렉션하는 방법
HTTP(하이퍼 텍스트 전송 프로토콜)는 월드 와이드 웹(WWW)에서 데이터 통신을 위한 기본 프로토콜이자 널리 사용되는 프로토콜입니다. ); 일반적으로 웹 브라우저와 웹 파일을 저장하는 서버 사이에 있습니다. HTTPS는 HTTP의 보안 버전인 반면, 끝에 있는 'S'는 '보안'을 의미합니다.
HTTPS를 사용하면 브라우저와 웹 서버 사이의 모든 데이터가 암호화되어 안전합니다. 이 튜토리얼에서는 Linux의 Apache HTTP 서버에서 HTTP를 HTTPS로 리디렉션하는 방법을 보여줍니다.
도메인에 대한 HTTPS 리디렉션을 위해 Apache HTTP를 설정하기 전에 SSL 인증서가 설치되어 있는지 확인하고 mod_rewrite Strong>은 Apache에서 활성화됩니다. Apache에서 SSL을 설정하는 방법에 대한 자세한 내용은 다음 가이드를 참조하세요.
- Apache용 자체 서명 SSL 인증서 및 키를 만드는 방법
- CentOS/RHEL 7에 Let's Encrypt SSL 인증서를 설치하는 방법
- 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 서버 보안 강화 기사를 읽고 싶을 수도 있습니다.
- 웹사이트 보안 및 사용자 정의를 위한 25가지 유용한 Apache '.htaccess' 요령
- .htaccess 파일을 사용하여 Apache에서 웹 디렉터리를 비밀번호로 보호하는 방법
- Apache 버전 번호 및 기타 민감한 정보를 숨기는 방법
- Mod_Security 및 Mod_evasive를 사용하여 무차별 공격 또는 DDoS 공격으로부터 Apache를 보호하세요.
그게 다야! 이 가이드에 관한 의견을 공유하려면 아래 피드백 양식을 사용하세요. 그리고 항상 linux-console.net에 연결되어 있다는 것을 기억하세요.