apache2 的 `ServerName` 属性是什么?它有什么作用?

apache2 的 `ServerName` 属性是什么?它有什么作用?

我不知道这个配置设置是什么意思。是不是意味着它会注册一个域名?它像 DNS 一样吗?

以下是我的 apache2 默认配置

服务器名称 staugie.org 服务器管理员 webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks Indexes MultiViews
            AllowOverride All
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride All
            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

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

另外,有没有办法通过 Apache 基金会注册免费域名?

答案1

ServerName只是您网页的内部名称。当某个客户端与您的 Web 服务器通信时,它会在标头中传递实际要查找的地址,但绝不会有人仅凭该地址找到您。为此,需要使用 DNS。

  1. 您输入“http://www.example.com”进入您的浏览器。
  2. 你的电脑询问其 DNS 解析器当它想要与 www.example.com 通信时应该使用哪个 IP 地址。
  3. 您的计算机连接到该 IP 地址,并表示它想要与 www.example.com 通信(这是Host:HTTP 中的标头)。
  4. 网络服务器查看其配置以确定如何处理来自 www.example.com 的内容请求。以下任一情况都可能发生:
    • www.example.com 被列为或ServerName-如果ServerAliasVirtualHost这样,那么它将使用该 VirtualHost 的配置来传递内容。
    • 服务器根本没有任何 VirtualHosts - 如果是这样,那么它将使用其 httpd.conf 中的配置来传递内容。
    • 该服务器具有虚拟主机,但 www.example.com 没有列在其中任何一个中 - 如果是这样,则列表中的第一个虚拟主机将用于传递内容。

摘自 Jennen D 在 ServerFault 上的回答

是不是就是注册一个域名?跟DNS类似吗?

不,不。

有没有办法通过 Apache 基金会注册免费域名?

不可以,你必须付钱。

相关内容