.local
내 RPi의 다른 도메인에서 다른 서버를 실행하려고 합니다 . 이것은 내 nginx default.conf입니다.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name raspberrypi.local;
}
/etc/hosts
파일 -
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
이제 avahi-publish
다른 도메인에 별칭을 지정했습니다.
avahi-publish -a -R foo.local 192.168.68.120
하지만 이 도메인에 액세스하면 내가 원하지 않는 nginx 기본 html도 표시됩니다. 아직 해당 도메인에서 실행되는 다른 서버를 구성하지 않았지만 연결할 수 없거나 연결할 수 없을 것으로 예상됩니다.
.local
이것이 가능하지 않은 경우 별칭이 아닌 여러 도메인 이름을 가질 수 있는 방법이 있습니까 ?
답변1
하지만 이 도메인에 액세스하면 내가 원하지 않는 nginx 기본 html도 표시됩니다. 아직 해당 도메인에서 실행되는 다른 서버를 구성하지 않았지만 연결할 수 없거나 연결할 수 없을 것으로 예상됩니다.
Nginx를 수신하도록 구성했기 때문에 "연결할 수 없습니다"라는 메시지가 표시되지 않습니다.모두이 서버의 주소 – 이것이 listen *:80
여기서 의미하는 바입니다. 0.0.0.0
일명 수신 대기 중인 경우 *
모든 로컬 IPv4 주소에 대한 연결을 허용합니다. ( [::]
IPv6에서도 마찬가지입니다.)
( server_name
옵션은 이에 영향을 미치지 않습니다. 수신된 요청의 HTTP 'Host' 헤더를 기반으로 올바른 서버{} 블록을 선택하는 것뿐입니다.~ 후에연결이 설정되었습니다. 즉, IP 기반이 아닌 이름 기반의 가상호스트를 구현한다.)
가상 호스트가 IP 기반이 되도록 하려면 서버 블록을 변경하여 와일드카드 주소 대신 특정 IP 주소를 수신하도록 합니다.{}
server {
listen 192.168.68.xxx:80;
}
주소가 인터페이스에 할당되기 전에 Nginx가 시작되면 실패할 것이라는 점을 명심하세요. (이것은 다음을 사용하여 피할 수 있습니다.IP_FREEBIND하지만 Nginx는 아직 이를 지원하지 않는 것 같습니다.)