두 개의 도메인에 대해 포트 80을 수신하는 두 개의 사이트가 있는 nginx 웹 서버가 있습니다 dom.net
.dom.se
에는 sites-enabled
이들 각각에 대한 파일이 있습니다. dom.net.site
이는 dom.se.site
동일하지만 server_name
지시문에 대한 것입니다. server_name dom.net *.dom.net;
또는 입니다 server_name dom.se *.dom.se;
. 나머지는 사실상 동일하지만 location
디버깅에 도움이 되며 다음과 같습니다(.net 사이트의 경우).
location /check {
return 200 'dom.net';
add_header Content-Type text/plain;
}
내가 이해하지 못하는 것은 http://my-server-ip/check로 이동하면 다음과 같은 응답을 받는 이유입니다.http://server.dom.net/check. 사이트 파일에 지시문이 없지만 default_server
nginx는 여전히 IP 주소에 응답합니다.
그리고 왜 골랐나http://server.dom.net그리고는 아니다http://server.dom.se?
매우 혼란.
답변1
다음 경로에 nginx에 대한 기본 구성이 있습니다. /etc/nginx/nginx.conf를 읽으면 "http{}" 구문이 있는 블록이 있고 해당 블록에는 다음과 같은 줄이 있습니다.
include /etc/nginx/sites-enabled/*
따라서 nginx가 수행할 작업은 주석에서 언급한 "Gerald Schneider"와 같이 해당 디렉토리에 파일을 순서대로(알파벳순) 로드하는 것입니다.