httpd : ServerName에 127.0.0.1을 사용하여 서버의 정규화 된 도메인 이름을 안정적으로 확인할 수 없습니다.


172

CentOS 5.0에서 Apache 서버를 다시 시작하려고했는데 다음 메시지가 나타납니다.

httpd : ServerName에 127.0.0.1을 사용하여 서버의 정규화 된 도메인 이름을 안정적으로 확인할 수 없습니다.

/etc/hosts파일 은 다음과 같습니다 .

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

/etc/sysconfig/network파일 은 다음과 같습니다 .

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Apache httpd.conf 파일에도 있습니다.

ServerName localhost

그러나 Apache를 다시 시작할 때 여전히 첫 번째 오류 메시지가 나타납니다.


1
오른쪽을 편집했는지 확인하십시오 httpd.conf. 보통 ServerName xy은 괜찮습니다.
KingCrunch

답변:


95

호스트 파일에 유효한 FQDN이 포함되어 있지 않거나 FQDN도 아닙니다 localhost. FQDN에는 호스트 이름 부분과 도메인 이름 부분이 포함되어야합니다. 예를 들어 다음은 유효한 FQDN입니다.

host.server4-245.com

FQDN을 선택하고 사용 /etc/hosts중인 IPv4 및 IPv6 주소 모두 (파일의 경우 localhost또는 127.0.0.1) 에 파일에 모두 포함시키고 ServerNamehttpd 구성에서 일치하도록 변경하십시오 .

/ etc / hosts :

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

httpd.conf :

ServerName host.server4-245.com

6
선택한 이름과 일치하도록 / etc / sysconfig / network 파일에서 HOSTNAME 항목을 수정해야합니다.
Paul Stengel

2
흠. 나는 가지고 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain 있지만 : 리눅스는 gondor.localdomain도 FQDN이라고 생각하지 않는 것 같습니다. 그게 뭐가 문제 야? TLD가 있어야합니까?
Adam

안녕 나는 위의 모든 것을 시도했지만 여전히 같은 오류가 발생합니다. 여기서 내가 부족한 것을 이해하지 못합니다. 내 FQDN은 귀하의 답변과 같은 방식으로 ak.local.com으로 설정되었지만 여전히 동일한 문제가 발생합니다. 나는 OSX 10.10에서 실행
중이다

1
127.0.0.1 myserver myserver.mydom.com ... etc <<가 작동하지 않습니다. 127.0.0.1 myserver.mydom.com myserver ... etc << 작동하지 않습니다
Martin

208

httpd.conf폴더에 없으면 /etc/apache2apache2.conf가 있어야합니다. 간단히 추가하십시오.

서버 이름 로컬 호스트

그런 다음 apache2서비스를 다시 시작하십시오 .


2
여러 가상 호스트를 실행하는 Ubuntu 12.04 LTS에서 완벽하게 작동했습니다.
Gor

3
여러 가상 호스트를 실행하는 Mac OS 10.7.5에서 완벽하게 작동했습니다.
DudeOnRock


3
Centos 6.4에서 완벽하게 작동했습니다.
Kel Solaar

7
httpd.conf 파일은 사용하여 / etc / httpd / conf /에 있었지만, CentOS의 6 (클라우드 버전)에 완벽하게 작동
gbarry

64

Apache 서버를 처음 설치 한 후 Ubuntu 12.04 에서 Apache 서비스를 다시 시작하는 동안 다음 오류가 발생했습니다 (정확한 Pangolin)

해결책은 정말 간단합니다. ServerName지시문을 /etc/apache2/httpd.conf다음에 추가하십시오 .

sudo nano /etc/apache2/httpd.conf

더하다: ServerName localhost

마지막으로 Apache 서버를 다시 시작하십시오.

sudo /etc/init.d/apache2 restart

1
CentOS 7에서 경로는 /etc/httpd/conf/httpd.conf입니다.
Debashis

11

그래서 이것이 대답되고 받아 들여지는 동안 여전히 최고의 검색 결과로 나타 났으며 (많은 연구를 거친 후에도) 대답은 내 머리를 긁고 더 파고 들었습니다. 여기에 문제를 해결 한 방법에 대한 간단한 레이아웃이 있습니다.

내 서버가 myserver.myhome.com이고 고정 IP 주소가 192.168.1.150이라고 가정합니다.

  1. 호스트 파일 편집

    $ sudo nano -w /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    
    127.0.0.1 myserver.myhome.com myserver
    
    192.168.1.150 myserver.myhome.com myserver
    
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ::1 myserver.myhome.com myserver
    
  2. httpd.conf 편집

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. 네트워크 편집

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. 확인

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. 아파치 다시 시작

    $ sudo /etc/init.d/apache2 restart
    

myserver.myhome.com호스트 파일의 고정 IP 주소 192.168.1.150과 127.0.0.1 모두에 차이가있는 것으로 나타났습니다 . 우분투 서버와 CentOS에서도 동일합니다.


9

httpd.conf에서 "ServerName"을 검색하십시오. 일반적으로 Mac에서는 기본적으로 주석 처리됩니다. 주석 처리를 제거하고 채우십시오. / etc / hosts에 name / ip 콤보도 설정되어 있는지 확인하십시오.


감사합니다. 도움이되었습니다. httpd가 / etc / hosts에서 내 fqdn을 선택하지 않았으며 호스트 이름이 올바르게 구성된 것 같습니다.
Banjer

8

올바른 httpd.conf파일을 편집하고 있는지 확인한 후 신뢰할 수없는 서버의 도메인 이름 오류가 사라져야합니다 (가장 일반적인 실수 임).

httpd.confApache 구성 파일 을 찾으려면 다음을 실행하십시오.

apachectl -t -D DUMP_INCLUDES

그런 다음 파일을 편집하고 주석을 해제하거나 다음과 같이 변경하십시오 ServerName.

ServerName localhost

그런 다음 아파치를 다시 시작하십시오. sudo apachectl restart


1
"올바른 htttpd.conf 파일을 편집하고 있는지 확인하십시오."macOS에서 도움이되었습니다. 올바른 http.conf파일을 편집하지 않았습니다 . 감사.
Asme Just


3

이 오류를 해결하는 방법에는 두 가지가 있습니다.

  1. Include /etc/apache2/httpd.conf

    /etc/apache2/apache2.conf 파일에 위의 줄을 추가하십시오

  2. /etc/apache2/apache2.conf 파일의 끝에이 줄을 추가하십시오 :

    서버 이름 로컬 호스트


1

서버 호스트 이름을 /etc/apache2/httpd.conf 파일 및 파일에 추가하여 다른 경우에 정규화 된 도메인 이름 메시지를 해결했습니다 /etc/apache2/apache2.conf.

hostname -f터미널을 입력 하십시오. 이 쿼리는 호스트 이름을 반환합니다.

그런 다음 /etc/apache2/httpd.conf파일을 편집 하거나 어떤 이유로 존재하지 않는 경우 파일을 작성하고 추가하십시오 ServerName <your_hostname>.

또한, 나는 또한 추가하여 메시지를 제거 할 수있었습니다 ServerName <your_hostname>받는 /etc/apache2/apache2.conf파일.

모든 것이 잘 진행되면 Apache를 다시 시작하면 메시지가 사라집니다.


1

대부분의 답변은에 추가 ServerName localhost하는 것이 좋습니다 /etc/apache2/apache2.conf.

그러나 아파치 문서를 인용  :

이 오류 메시지가 표시되면 Apache httpd가 서버의 IP 주소에서 역방향 조회를 수행하여 완전한 호스트 이름을 얻을 수 없음을 나타냅니다. 위의 지침은 어떤 경우에도 경고를 제거하지만이 역 매핑이 작동하도록 이름 확인을 수정하는 것이 좋습니다.

따라서 이러한 라인을 추가 /etc/hosts하는 것이 더 강력한 솔루션 일 것입니다.

192.0.2.0  foobar.example.com  foobar

여기서 192.0.2.0 은 도메인 foobar내에 이름이 지정된 서버의 고정 IP 주소입니다 example.com.

예를 들어 FQDN을 확인할 수 있습니다

hostname -A

(에 대한 단축키 hostname --all-fqdn).


1

이 문제가 발생했으며 공백 대신 줄을 들여 쓰기 위해 "탭"을 사용했기 때문입니다. 누군가에게 도움이 될 경우를 대비하여 게시하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.