[nginx] [warn] protocol options redefined for 0.0.0.0:443 in ...

# nginx -t
nginx: [warn] protocol options redefined for 0.0.0.0:443 in /etc/nginx/conf./???.conf:10

  nginx의 conf 파일에 다음 listen 지시자가 같은 포트로 두 번 정의되어 나올 수 있는 경고문이다.

server {
listen 443 quic;
listen 443 ssl;
...

  같은 포트로 listen 지시자가 둘 이상 정의되었다면, 하나로 줄여 주면 이 경고문은 사라질 수 있다. 하지만 여러 http 프로토콜(http3, http2 등)을 함께 지원하려면 listen 지시자가 두 개 이상 필요할 수 있으므로, 마냥 경고문을 없애려고 listen 지시자를 줄이는 것은 현명하지 않을 일이 될 수 있다.

  아래처럼 listen에서 ssl을 빼고 "http2 on;"을 적어 주는 방법이 있다.

server {
listen 443 quic;
listen 443;
http2 on;
...
  최근의 nginx에서는 "listen 443 ssl http2;"처럼 listen에 http2를 붙이는 것은 더 이상 쓰지 않는 것을 권장하고 있고(deprecated), "http2 on;"처럼 http2을 지시자로 쓰는 것이 권장되고 있다.(https://error.note.tc/49)

(2026.10.2 내용 고치고 더함)

 

  nginx의 conf 파일에 들어간 listen 지시자에 아래처럼 ssl이 빠지면 이런 경고문이 나올 수 있다.

server {
listen 443;

  이 경우에는 443 뒤에 ssl을 넣어 준다.

server {
listen 443 ssl;
2024/02/04 01:45 2024/02/04 01:45
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요