Apache2에서 HTTP/2 프로토콜의 사용을 활성화하여, SEO(서버 엔진 최적화)를 향상시키는 방법에 대해서 설명 드리겠습니다. 기본 프로토콜인 HTTP/1.1(오래된 버전)과 HTTP/2(최신 버전)의 차이점과 사용하는 이유에 대한 글은 아래의 링크를 통해서 확인해 보시기 바랍니다.
2023.07.18 - [프로그래밍/Network] - HTTP/1.1과 HTTP/2의 차이점과 HTTP/2를 사용해야 하는 이유
Apache2 HTTP/2 모듈 활성화 시키기 절차
아래의 설치 및 설정 절차를 따라서 Apache2의 HTTP/2 모듈을 활성화 시킵니다.
1. 모듈 설치
HTTP/2 지원은 Apache 2.4.17 버전 이상에서 사용 가능합니다. HTTP/2를 사용하려면 먼저 mod_http2 모듈을 설치해야 합니다. 이 모듈은 Apache 2.4.26 이상에서 기본적으로 포함되어 있습니다.
버전 확인 명령어는 아래와 같습니다.
apache2 -v
2. 모듈 활성화
mod_http2 모듈을 활성화하기 위해 다음 명령을 실행하세요.
sudo a2enmod http2
이 명령은 http2.load와 http2.conf 파일을 /etc/apache2/mods-enabled/ 디렉토리에 링크하여 모듈을 활성화합니다.
3. Apache 설정 업데이트
다음으로, Apache 설정에 HTTP/2를 활성화해야 합니다. 이를 위해 /etc/apache2/sites-available/your-site.conf 파일을 열고 <VirtualHost *:443> 섹션에 Protocols h2 http/1.1을 추가하세요.
<VirtualHost *:443>
Protocols h2 http/1.1
...
</VirtualHost>
이 설정은 클라이언트가 HTTP/2 프로토콜을 지원하면 Apache가 HTTP/2를 사용하도록 지시하며, 그렇지 않으면 HTTP/1.1을 사용하게 합니다.
4. Apache 재시작
마지막으로 변경 사항을 적용하려면 Apache 서버를 재시작해야 합니다.
sudo systemctl restart apache2
이런 단계를 거치면, 웹 사이트는 이제 HTTP/2를 사용하여 통신할 수 있습니다.
참고로, HTTP/2는 기본적으로 TLS를 통해 실행됩니다. 따라서 HTTP/2를 사용하려면 서버에 SSL 인증서가 설치되어 있어야 합니다.
HTTP/2 프로토콜 동작확인 방법 2가지
1. 개발자 도구를 이용하는 방법:
대부분의 웹 브라우저는 개발자 도구를 통해 네트워크 트래픽을 확인할 수 있는 기능을 제공합니다. 이를 이용하면 특정 사이트가 HTTP/2 프로토콜로 통신하고 있는지 확인할 수 있습니다.
- 크롬(Chrome) 브라우저의 경우 다음과 같이 확인할 수 있습니다:
- F12 키를 눌러 개발자 도구를 연 후 'Network' 탭으로 이동합니다.
- 웹 사이트를 새로고침합니다.
- 개발자 도구에서 웹 사이트의 주요 요청을 선택하고, 오른쪽 패널에서 'Headers' 섹션을 확인합니다.
- 여기에서 ':authority', ':method' 등의 헤더가 보이면, 그 사이트는 HTTP/2를 사용하고 있습니다. HTTP/2에서만 사용되는 헤더는 콜론(:)으로 시작합니다.
2. 커맨드라인 도구를 이용하는 방법:
curl 이라는 커맨드라인 도구를 이용하면 서버의 프로토콜을 확인할 수 있습니다. curl을 아래와 같이 사용해보세요:
curl -I -v --http2 https://yourwebsite.com
여기서 'yourwebsite.com' 부분은 확인하려는 웹 사이트의 주소로 바꿔주세요. -v 옵션은 자세한 정보를 보여주고, --http2 옵션은 HTTP/2를 사용하려고 시도하게 합니다. 결과에서 HTTP/2 200 등의 응답을 확인하면 HTTP/2가 잘 동작하고 있는 것입니다.
참고로, 위의 curl 명령은 HTTP/2를 지원하는 curl 버전에서만 동작합니다. 필요하다면 curl을 업그레이드 해야 할 수도 있습니다.
댓글