답변:
listen 443 ssl
: nginx가 서버의 모든 ipv4 주소에서 포트 443을 수신하도록합니다 ( 0.0.0.0:443
)
동안
listen [::]:443 ssl
: nginx가 서버의 모든 ipv6 주소에서 포트 443을 수신하도록합니다 ( :::443
)
[::]:443
매개 변수를 지정하지 않으면 nginx가 ipv4에서 기본적으로 응답하지 않습니다 ipv6only=off
.
listen [::]:443 ipv6only=off;
문서에 따라 : http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
ssl :
ssl 매개 변수 (0.7.14)를 사용하면이 포트에서 승인 된 모든 연결이 SSL 모드에서 작동하도록 지정할 수 있습니다.
http2 :
http2 매개 변수 (1.9.5)는 포트가 HTTP / 2 연결 을 승인하도록 구성합니다 .
그렇다고 HTTP / 2 연결 만 허용한다는 의미는 아닙니다.
당으로 RFC7540
다음 홉에서 HTTP / 2 지원에 대한 사전 지식없이 "http"URI를 요청하는 클라이언트는 HTTP 업그레이드 메커니즘을 사용합니다. 클라이언트는 "h2c"토큰과 함께 업그레이드 헤더 필드를 포함하는 HTTP / 1.1 요청을 작성하여이를 수행합니다.
HTTP / 2를 지원하지 않는 서버는 업그레이드 헤더 필드가없는 것처럼 요청에 응답 할 수 있습니다.
HTTP/1.1 200 OK Content-Length: 243 Content-Type: text/html
HTTP / 2를 지원하는 서버는 101 (스위칭 프로토콜) 응답으로 업그레이드를 승인합니다. 101 응답을 종료하는 빈 행 후에 서버는 HTTP / 2 프레임 전송을 시작할 수 있습니다.
요약 :
HTTP / 2를 지원하지 않는 클라이언트는 서버에 HTTP / 2 통신 업그레이드를 요청하지 않습니다. 이들 간의 통신은 완전히 HTTP1 / 1입니다.
HTTP / 2를 지원하는 클라이언트는 서버에 HTTP1 / 1을 사용하여 HTTP / 2 업그레이드를 요청합니다.
어쩌면 여기에 더 요약되어 있습니다 : http://qnimate.com/http2-compatibility-with-old-browsers-and-servers/
그러나 nginx 문서는 TLS를 통한 HTTP / 2에 대해 다음과 같이 설명합니다.
TLS를 통한 HTTP / 2 연결을 허용하려면“ALPN (Application-Layer Protocol Negotiation)”TLS 확장 지원이 필요하며 OpenSSL 버전 1.0.2 이후에만 사용할 수 있습니다.
이전 고객이이 요구 사항을 준수하는지 확인하십시오.