【问题标题】:httpd: Could not reliably determine the server's fully qualified domain namehttpd:无法可靠地确定服务器的完全限定域名
【发布时间】:2013-08-19 21:14:51
【问题描述】:

我知道这个问题已经被关注了很多,但这里的解决方案并没有解决它们。

让我们从一些背景信息开始:​​

OS X 10.8.4 阿帕奇 2.2.22

问题: 我在控制台中收到此错误,Apache 找不到我的本地主机,但启动正常。很奇怪。

[Sat Aug 17 13:40:06 2013] [info] mod_ssl/2.2.22 compiled against Server: Apache/2.2.22, Library: OpenSSL/0.9.8r
httpd: Could not reliably determine the server's fully qualified domain name, using Specter.local for ServerName

所以通常这表明我的 ServerName 设置不正确。嗯,它是:/ 我已经尝试过不同的变体,如 Spectre.local、localhost 等

这是我的 /private/etc/httpd.conf 的副本,这与 /private/etc/apache2/httpd.conf 相同

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost

我的主机文件设置如下:

127.0.0.1   localhost localhost.local
255.255.255.255 broadcasthost
127.0.0.1       themill.dev
127.0.0.1       phpmyadmin.dev
127.0.0.1       Specter.local

在我的 /private/etc/apache2/users/ta.conf 中如下

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
# DEV: THEMILL SITE
<VirtualHost *:80>
  ServerAdmin test@dummy.com
  DocumentRoot "/Users/ta/Sites/themill/htdocs"
  ServerName themill.dev
  ServerAlias *.themill.dev
  ErrorLog "/Users/ta/Sites/themill/log/error_log"
  CustomLog "/Users/ta/Sites/themill/log/access_log" common
</VirtualHost>

# PHPMYADMIN
<VirtualHost *:80>
  ServerAdmin test@dummy.com
  DocumentRoot "/Users/ta/Sites/phpmyadmin"
  ServerName phpmyadmin.dev
  ServerAlias *.phpmyadmin.dev 
  ErrorLog "/Users/ta/Sites/phpmyadmin/log/error_log"
  CustomLog "/Users/ta/Sites/phpmyadmin/log/access_log" common
</VirtualHost>

不确定还应该配置什么。它曾经可以工作,但在 10.7 升级后,它从来没有工作过,现在我正在尝试解决它,它正在努力。

如果您需要更多信息,请告诉我。

【问题讨论】:

  • 发出该消息的代码仅在全局配置没有服务器名称时运行,您确定这些配置文件正在使用吗?

标签: macos apache web server-configuration


【解决方案1】:

您需要全局设置“ServerName”指令以禁止显示此消息。

  1. 第一步是找到实际的 apache 配置文件,因为您可能编辑了错误的文件

例如通过以下命令查找您的 httpd.conf Apache 配置文件:

apachectl -t -D DUMP_INCLUDES

例如:/usr/local/etc/httpd/httpd.conf。

然后编辑它并取消注释带有 ServerName 的行(确保它具有有效的服务器名称)。例如

服务器名称本地主机

以后你可以感谢我!

【讨论】:

    【解决方案2】:

    我在通往荣耀的路上遇到了一些问题,有些是自己造成的。根据经验,我发现只需运行:$sudo httpd -k restart 每次都会凭借消息输出让我更进一步。

    【讨论】:

      【解决方案3】:

      httpd.conf 文件中的以下行是正确的:

      ServerName localhost
      

      问题是在 macOS 上是错误的文件(不是/private/etc/httpd.conf)。

      要找到httpd.conf Apache 配置文件的正确位置,请运行:

      apachectl -t -D DUMP_INCLUDES
      

      然后仔细检查ServerName 是否未注释并设置为localhost

      【讨论】:

      • 也救了我的,谢谢!只有使用该命令,我才能找到正确的 conf 文件,但默认日志很糟糕。
      • 太棒了 - DUMP_INCLUDES 行正是我所需要的,谢谢!
      【解决方案4】:

      我最近在 Mac 上遇到了同样的问题,虽然我确实按照 Spanky 的建议编辑了我的主机文件(我认为这也是必要的),但我还需要编辑我的 httpd.conf。

      如果将来有人遇到这种情况,以下可能会起作用

      在您的 /etc/apache2/httpd.conf 中,在 ServerAdmin your@email.com 行之后添加这一行

      ServerName your-favorite-server-name
      

      来源: https://blog.cloudtroopers.com/upgrade-osx-1010-yosemite-and-keep-apache-functional

      【讨论】:

        【解决方案5】:

        忽略所有关于设置 ServerNames 的建议。恕我直言,这是一条红鲱鱼。 Apache 正在尝试使用标准系统组件来确定 FQDN,但没有找到任何合适的。当然,您可以通过向 Apache 全局添加指令来颠覆这个过程,但我认为这是治疗症状。当然,您应该在您的虚拟主机块中有 ServerName 指令。

        相反,请编辑您的主机文件并确保您在其中列出了 FQDN。我已经看到了有关特定 127* 行的语法的各种建议,但我认为只要列出了 FQDN,它们的顺序并不重要:

        127.0.0.1       localhost.localdomain   localhost       foo.example.com
        

        这对我有用,而且似乎比所有其他“对我有用!”更重要。对建议您编辑 httpd.conf 等的帖子进行投票。我希望这会有所帮助,并且我不会被否决。如果您不同意,请举例说明原因。谢谢。

        http://wiki.apache.org/httpd/CouldNotDetermineServerName

        一旦 Apache 可以确定系统的 FQDN,它就会读取您的 NameBasedHosts 的特定 ServerName 指令。

        【讨论】:

        • “确保您在此处列出了 FQDN” - 我在这个问题的许多答案中都看到了这一点。完全限定域名是指我实际上可以使用 foo.example.com 还是这里的域必须是 actual 域?我永远不明白 foo.example.com 的意思是“您在此处实际购买和拥有的域名”,或者特别是“将任何遵循 FQDN 模式的域名,即 www.mynonexistentdomain.com 放在此处”。有人能解释清楚吗?
        猜你喜欢
        • 2022-07-18
        • 2011-08-16
        • 1970-01-01
        • 2012-03-21
        • 2018-05-19
        • 2021-05-29
        • 2020-08-30
        • 2015-10-15
        • 2021-08-14
        相关资源
        最近更新 更多