Ubuntu Apache 서버 (Apache 2)가 시작되면 다음과 같은 경고 메시지가 나타납니다.
[warn] NameVirtualHost *:80 has no VirtualHosts
그러나 웹 서버는 정상적으로 작동합니다. 이 경고 메시지를 표시하기 위해 사이트 구성에서 무엇이 잘못되었을 수 있습니까?
문제의 구성 파일 (에 있음 /etc/apache2/sites-available
)은 다음과 같이 읽습니다 (간단하게 세부 사항이 제거됨)
<VirtualHost *>
<Location /mysite>
# Configuration details here...
</Location>
# Use the following for authorization.
<LocationMatch "/mysite/login">
AuthType Basic
AuthName "My Site"
AuthUserFile /etc/sitepasswords/passwd
Require valid-user
</LocationMatch>
</VirtualHost>
내가 사용하고 있다는 사실이 <Location>
문제의 일부일 수 있습니까?
답변
변화
<VirtualHost *>
읽다
<VirtualHost *:80>
또는 (NameVirtualHost * : 80)이 apache2 Confing 파일에 두 번 추가되었습니다. (기본적으로 ports.conf 파일에 추가됨)
오류가 해결됩니다.
따로 : 이 오류를 무시해서는 안됩니다. Apache의 구성, 특히 가상 호스트를 globbing하는 경우 (예 : /etc/httpd/vhosts.d/* 포함) 안정적이지 않습니다. 즉, 호스트를 명시 적으로로드하는 순서를 제어하지 않으므로 IP의 기본 vhost가 먼저로드되는 호스트가되므로 의도하지 않은 결과가 발생할 수 있습니다.
이것의 한 가지 예는 IP의 기본 가상 호스트가 name이 아니라 해당 IP에서 사용 가능하다는 것 입니다. 이로 인해 이름이 아닌 사이트 IP를 참조하여 정보가 Google에 유출되어 고객에게 혼란을 줄 수 있습니다.
위의 NameVirtualHost 오류는 아파치가 물건을 최적이 아닌 방식으로로드했음을 암시 할 수 있으므로 무시해서는 안됩니다.
답변
NameVirtualHost 지시문이 둘 이상의 위치에 있기 때문일 수 있습니다.
다른 배포판에 대해서는 모르지만 Ubuntu / Debian에서는 Apache의 구성이 여러 파일로 분할되어 있으므로 복제 위치 (httpd.conf, apache2.conf, ports.conf, conf.d)를 확인해야합니다. / *).
: 아, 그리고 난 그냥 자세한 내용은이 훌륭한 자원을 발견 일반적인 아파치 잘못된 구성을 .
답변
데비안 / 레니 상자 : /etc/apache2/ports.conf에 추가적인 NameVirtualHost 문이 있습니다-이 문제의 원인이 될 수 있습니다 (/ etc / apache2 / sites-available / default에도 같은 문이 있습니다) . 나는 그 진술에 주석을 달았고 오류는 사라졌다.
답변
일치하는 VirtualHost 항목이없는 NameVirtualHost가 있습니다.
이는 일반적으로 치명적이지 않으며 정보 오류 일뿐입니다.
답변
NameVirtualHost 줄에 포트 번호 ( :80
)가 있지만 VirtualHost 섹션에는 없습니다.
답변
AS Rune은 데비안 시스템에서 NameVirtualHost가 여러 파일 (ports.conf, conf.d / virtual.conf) 및 가능하면 자신의 conf 파일 (사이트에서 사용 가능)에 나타남
한 위치에 NameVirtualHost * : 80 (mine은 conf.d / virtual.conf에 있음)으로 존재하고 경고가 표시되는지 확인하십시오.
언급했듯이 사용 가능한 각 사이트의 VirtualHost 방향을이 형식으로 만들어야합니다. <VirtualHost *:80>
답변
나는 같은 문제가 있지만 잠시 후에 Apache의 기본 사이트를 비활성화합니다. 나는 같은 것을 입력
# a2dissite default
Apache 2를 다시 시작하려고하면 다음 메시지가 나타납니다.
“[경고] NameVirtualHost * : 80에는 VirtualHosts가 없습니다”
그런 다음 Apache 2의 ‘기본’사이트를 다시 활성화하고 모든 것이 다시 작동합니다. 사용 된 명령은 다음과 같습니다.
# a2ensite default
그게 다야!