>일반적인 문제 >하나의 IP 주소가 여러 도메인 이름에 해당할 수 있습니까?

하나의 IP 주소가 여러 도메인 이름에 해당할 수 있습니까?

angryTom
angryTom원래의
2019-07-22 13:20:1345576검색

하나의 IP 주소가 여러 도메인 이름에 해당할 수 있습니까?

추천 튜토리얼: linux 튜토리얼

우선, 대부분의 임대 가상 호스트에는 동일한 IP를 공유하는 여러 호스트가 있습니다. 액세스 중인 호스트를 구별하려면 다음 두 가지 측면이 필요합니다.

1. 클라이언트가 요청할 때 HTTP 요청에 요청될 특정 호스트 이름이 포함됩니다. 패킷 캡처 분석을 통해 Google에 액세스하기 위한 요청 내용은 다음과 같습니다.

GET / HTTP/1.1
Host: www.google.com
전체 요청이 서버로 전송되며, 요청하려는 웹사이트의 도메인 이름을 식별하는 호스트 필드가 있습니다. 호스트 필드가 다르기 때문에 액세스는 동일한 IP 주소이므로 서버 소프트웨어는 방문 중인 웹 사이트를 구별할 수 있는 방법을 갖습니다.

호스트 필드의 구체적인 정의는 RFC-2616의 섹션 14.23을 참조하세요: http://www.rfc-editor.org/rfc/rfc2616.txt

다음은 발췌입니다(굵은 부분 참고) ):

14.23 Host

호스트 요청 헤더 필드는 사용자 또는 참조 리소스(일반적으로 HTTP URL,

)가 제공한 원본

URI에서 가져온 요청 중인 리소스의 인터넷 호스트 및 포트

번호를 지정합니다. 섹션 3.2.2에 설명되어 있음) 호스트 필드 값은
원래 URL에 의해 제공된 원본 서버 또는 게이트웨이의 명명 권한을 나타내야 합니다. 이를 통해 원본 서버 또는 게이트웨이는
내부적으로 모호한 URL을 구별할 수 있습니다. root "/ "

단일 IP 주소에 여러 호스트 이름이 있는 서버의 URL입니다.


또한 RFC-2616은 HTTP 프로토콜의 최신 사양이 아니므로 자세한 사양은 설명 링크를 참조하세요. RFC-2616: RFC 2616에 대한 정보

2. 서버 측 구성 방법

서버가 Apache를 사용하는 경우 Apache 구성 파일에 VirtualHost를 추가하여 새 가상 호스트를 추가합니다.

<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website1"
ServerName http://myhost1.com
DirectoryIndex index.php
</VirtualHost>
<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website2"
ServerName http://myhost2.com
DirectoryIndex index.php
</VirtualHost>
위 두 개의 도메인 이름인 http://myhost1.com과 http://myhost2.com은 각각 다른 루트 디렉터리에 있습니다. 이 구성을 사용하면 Apache가 http://myhost1.com에서 요청을 받으면 d로 이동합니다. /website1 해당 페이지를 찾습니다. http //myhost2.com 요청인 경우 d:/website2로 이동하여 해당 페이지를 찾습니다. 일반적으로 Apache에는 IP 주소를 사용하여 액세스할 수 있는 기본 웹사이트도 있습니다. 이 웹사이트를 유효하지 않은 것으로 설정하면 호스트는 IP 주소를 통해 HTTP 리소스에 직접 액세스할 수 없습니다.

IIS의 경우 IIS는 동일한 IP를 사용하여 여러 사이트를 바인딩할 수 있습니다. 자세한 내용은 아래 그림을 참조하세요.

기본 웹사이트->속성->웹사이트->고급 , 다른 도메인 이름을 추가하면 됩니다. 내 IIS 버전이 낮기 때문에 여러 웹 사이트 바인딩을 지원할 수 없습니다. IIS의 상위 버전에서는 여러 웹 사이트를 구성할 수 있으며 각 웹 사이트를 다른 도메인 이름에 바인딩하여 액세스 시 차별화할 수 있습니다.

서버가 기본 웹사이트를 설정하지 않으면 IP 주소가 호스트에 직접 접근할 수 없습니다.

하나의 IP 주소가 여러 도메인 이름에 해당할 수 있습니까?따라서 IP 주소를 통해 웹사이트에 직접 접속하면 두 가지 상황에 직면하게 됩니다:

1. 서버가 기본 웹사이트를 설정하거나 IP를 호스트 이름으로 사용하여 요청의 호스트 필드와 일치시킵니다. IP를 통해 접속하는 웹사이트입니다.

2. 서버가 기본 웹사이트를 설정하지 않거나 기본 웹사이트가 금지된 경우 일반적으로 발생하는 것은 404 오류입니다. 찾을 수 없음) 여러 가상 호스팅 서비스 제공업체를 사용한 서버에서 비슷한 오류가 발생했습니다.

또한 IIS든 Apache든 다른 유형의 웹사이트 서버 소프트웨어든 여러 도메인 이름을 지원할 뿐만 아니라 여러 IP도 지원합니다. 즉, 서버에는 동시에 여러 도메인 이름과 여러 IP가 있습니다. 시간이며 상호 배타적입니다.

위 내용은 하나의 IP 주소가 여러 도메인 이름에 해당할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.