[nginx] nginx.conf의 if 문 안에 넣을 수 없는 명령들 - listen, http2, ssl_protocols, …

  아래는 "nginx -t"로 nginx 설정 파일(nginx.conf)을 검사한 내용이다.

# nginx -t
nginx: [emerg] "listen" directive is not allowed here in /etc/nginx/conf.d/???.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

"listen" directive is not allowed here in ...

  여기에서 listen 명령 때문에 오류가 난 까닭은 아래처럼 listen을 if 문 안에 넣었기 때문이다.

http {
	server {
		server_name www.domain-name.com domain-name.com
		if ($host != "www.domain-name.com") {
			listen 443 quic;
		}
	...
	}
}

  listen을 if 문 밖으로 빼내면 이 오류를 없앨 수 있다.

  listen 말고도 if 문 안에 넣을 수 없는 명령은 http2, ssl_protocols를 비롯하여 여러 가지가 있다.

# nginx -t
nginx: [emerg] "ssl_protocols" directive is not allowed here in /etc/nginx/conf.d/???.conf:33
nginx: configuration file /etc/nginx/nginx.conf test failed

2024/08/07 10:42 2024/08/07 10:42
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요