1개 IP의 여러 이름 기반 가상 서버에 대한 Apache2 구성

1개 IP의 여러 이름 기반 가상 서버에 대한 Apache2 구성

나는 운이 좋게도 내 웹사이트에 가상 서버를 구성하려고 노력해 왔습니다. 저는 VPS에서 Debian 2.6.32를 실행하고 있습니다. 저는 다양한 구성으로 가상 서버를 구성했으며 테스트를 위해 비교적 간단하게 두었습니다(epicbackroads.com만 활성화했습니다). 다음은 세 가지 가상 호스트입니다.

<VirtualHost *:80>
DocumentRoot "/srv/www/epicbackroads.com/public_html"
ServerName epicbackroads.com
<Directory "/srv/www/epicbackroads.com/public_html">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected]
    ServerName johnpwarren.com
DocumentRoot /srv/www/domain2.com/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /srv/www/domain2.com/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

여기 내 /etc/hosts 파일이 있습니다:

fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
208.84.135.70 serv1.epicbackroads.com  serv1
208.84.135.70 epicbackroads.com epicbackroads
208.84.135.70 johnpwarren.com   johnpwarren
208.84.135.70 voip.johnpwarren.com voip.johnpwarren
::1     localhost ip6-localhost ip6-loopback

그리고 /etc/resolv.conf:

search epicbackroads.com
nameserver 8.8.8.8
nameserver 8.8.4.4

컬 체크뿐만 아니라:

# curl -I epicbackroads.com
HTTP/1.1 200 OK
Date: Mon, 27 May 2013 09:16:40 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Mon, 27 May 2013 05:05:00 GMT
ETag: "32237e0-4f-4ddac173588f2"
Accept-Ranges: bytes
Content-Length: 79
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug
</VirtualHost>

그러나 브라우저에서 "서버를 찾을 수 없습니다"라는 오류가 계속 발생합니다. 또 무엇을 조사해야 합니까?

업데이트: 또한 텔넷을 실행하여 다음을 받았습니다.

telnet 208.84.135.70 80
Trying 208.84.135.70...
Connected to 208.84.135.70.
Escape character is '^]'.
Connection closed by foreign host.

답변1

게시한 Apache 구성이 불완전하거나 완전히 유효하지 않습니다.

두 번째 가상 호스트에 구문 오류가 있습니다('<' 누락).

VirtualHost *:80>

결코 닫히지 않습니다. 없어진:

</VirtualHost>

ServerName또한 각 가상 호스트에서 누락되었습니다 .https://httpd.apache.org/docs/current/mod/core.html#서버 이름

Apache는 어떤 가상 호스트를 제공할지 알지 못하며 기본적으로 구성의 첫 번째 호스트로 설정됩니다.

그 외에도 epicbackroads.com의 문제는 DNS 구성인 것 같습니다. epicbackroads.com은 IP 주소를 확인하지 않습니다.

/etc/hosts 파일에서 도메인을 수동으로 구성했기 때문에 서버가 도메인을 확인할 수 있지만 PC는 이 도메인을 확인할 수 없으므로 아무것도 로드되지 않습니다.

관련 정보