웹사이트 검색

Nginx에서 HTTP/2를 활성화하는 방법


이 페이지에서

  1. 요구 사항\n
  2. Nginx에서 HTTP/2 활성화\n
  3. 링크

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