Nginx에서 HTTP/2를 활성화하는 방법
이 페이지에서
- 요구 사항\n
- Nginx에서 HTTP/2 활성화\n
- 링크
HTTP/2(Hypertext Transfer Protocol Version 2)는 2015년 RFC 7540에서 IETF 표준으로 게시된 HTTP 프로토콜의 최신 버전입니다. 프로토콜의 초점은 성능입니다. 특히 최종 사용자가 인지하는 대기 시간, 네트워크 및 서버 리소스 사용량입니다. 한 가지 주요 목표는 브라우저에서 웹 사이트로 단일 연결을 사용할 수 있도록 하는 것입니다. 프로토콜은 이전 버전과 호환되므로 HTTP 메서드, 상태 코드 및 의미 체계는 이전 버전의 프로토콜과 동일합니다. Nginx는 버전 1.9.5부터 HTTP/2를 지원합니다. 이 가이드에서는 이미 작동하는 TLS 구성이 있고 선택한 Linux 배포판에 Nginx 버전이 설치되어 있어야 하며 Lets Encrypt 사용 방법을 알고 있거나 자체 발급 방법을 알고 있다고 가정합니다. -서명된 인증서.
요구 사항
Nginx에서 HTTP/2를 사용 설정하려면 다음 요구사항을 충족해야 합니다.
- Nginx 버전 1.9.5 이상. (
nginx -v
) 명령을 실행하여 Nginx 버전을 확인할 수 있습니다.\n - OpenSSL 버전 1.0.2 이상. (OpenSSL 버전) 명령을 실행하거나 최신 OpenSSL을 설치하여 OpenSSL 버전을 확인할 수 있습니다.\n
- Lets Encrypt의 SSL/TLS 인증서 또는 자체 서명 인증서.
- TLS 1.2 이상의 프로토콜이 활성화되었습니다. 그렇지 않으면 HTTP/2를 사용할 수 없습니다. HTTP/2 구현은 TLS를 통한 HTTP/2에 대해 TLS 버전 1.2 이상을 사용해야 합니다.\n
Nginx에서 HTTP/2 활성화
Nginx에서 HTTP/2를 사용하려면 가상 호스트의 listen
지시문에 http2
매개변수를 추가해야 합니다.
listen 443 ssl http2;
그리고 Nginx 구성을 다시 로드합니다.
sudo systemctl reload nginx.service
다음은 일부 가상 호스트에서 HTTP/2를 활성화하는 데 사용할 수 있는 최소 가상 서버 구성입니다.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /path/to/public;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
ssl_protocols TLSv1.2;
}
서버가 HTTP/2를 지원하는지 확인하려면 브라우저 개발 도구 또는 Nginx 로그 파일을 사용할 수 있습니다. 아래는 https://example.com 도메인에서 작동 중인 HTTP/2를 보여주는 Google Chrome 브라우저의 스크린샷입니다.

Nginx $http2 내장 변수를 사용하여 협상된 프로토콜을 볼 수도 있습니다. 이 변수는 TLS를 통한 HTTP/2의 경우 "h2
”, 일반 텍스트 TCP를 통한 HTTP/2의 경우 "h2c
” 또는 Nginx의 빈 문자열을 기록합니다. 그렇게 하도록 구성된 경우 액세스 로그.
Nginx 서버에서 HTTP/2를 사용 설정하면 됩니다.
연결
- RFC 7540
- HTTP/2