본문 바로가기
프로그래밍/Linux

Apache2에서 HTTP/2 프로토콜 활성화 시키고, SEO 향상 시키기

by 꾸션 2023. 7. 18.

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을 업그레이드 해야 할 수도 있습니다.

반응형

댓글