Как Apache определяет полное доменное имя? - PullRequest
3 голосов
/ 02 апреля 2009

Я использую Apache2, и при перезагрузке / перезапуске сервера я получаю это предупреждение:

apache2: Could not reliably determine the server's fully qualified domain name, using (my FQDN) for ServerName

Все работает нормально, но я пытаюсь выяснить, что является причиной ошибки. Я беру источник, чтобы посмотреть, смогу ли я найти его, но так как мой C не очень хорош ....

Некоторые заметки:

  • Если я изменяю имя хоста системы, Apache использует новое имя хоста
  • У меня есть набор ServerName; оно совпадает с именем хоста
  • У меня статический уникальный IP-адрес - dig (hostname) возвращает (мой ip), dig -x (my ip) возвращает (имя хоста)
  • Файл моего хоста правильный

Версия:

Apache/2.2.9
Linux 2.6.24-23-xen x86_64
Description:    Debian GNU/Linux 5.0 (lenny)

Есть идеи?

Ответы [ 3 ]

8 голосов
/ 02 апреля 2009

Вы уверены, что у вас есть директива ServerName с правильным значением - вне каких-либо блоков <VirtualHost>? (Конечно, вам также нужно ServerName внутри каждого блока <VirtualHost>)

Когда Apache выдает это сообщение об ошибке, обычно это означает, что он не находит ServerName для сервера в целом. Если у вас правильно установлена ​​эта директива, я не могу представить, почему Apache все еще будет жаловаться ...

1 голос
/ 17 декабря 2014

В Debian имя хоста задается при запуске благодаря скрипту /etc/init.d/hostname.sh, который использует файл / etc / hostname. Мы можем использовать этот файл для обновления имени хоста компьютера и его полного доменного имени (полное доменное имя).

Если ServerName в вашем vhost - my-computer.my-domain.ext, обязательно скопируйте точное имя в / etc / hosts

Внимание: в файле / etc / hosts должны соблюдаться порядок имени хоста и полного доменного имени. Сначала fqdn, затем имя хоста и localhost в конце.

~$ echo "my-computer" > /etc/hostname
~$ echo "127.0.0.1 my-computer.my-domain.ext my-computer localhost" > /etc/hosts
~$ /etc/init.d/hostname.sh

Вы можете проверить изменение с помощью следующих строк:

~$ hostname
my-computer
~$ hostname --fqdn
my-computer.my-domain.ext

Старое имя хоста все еще может присутствовать в командной строке. Просто выйдите из системы и войдите, чтобы она исчезла.

0 голосов
/ 29 июля 2013

Для получения дополнительной информации о настройке имени хоста и полного доменного имени в Debian (что также предотвращает предупреждение), отметьте это: http://movealong.org/hostname.html

...