使用 FritzBox 定义带有 apache ServerName 的子域

使用 FritzBox 定义带有 apache ServerName 的子域

我有一台带有 apache2 的服务器,该服务器与我的 FritzBox 相连,它在 80 和 443 上进行端口转发,并且可以通过外部网络访问<MYFRITZ>.myfritz.net

<MYFRITZ>.myfritz.net如果我在浏览器中使用以下配置,我可以访问一个简单的 html :

<VirtualHost *:80>
    ServerName MYFRITZ.myfritz.net

    DocumentRoot /var/www/404

    <Directory /var/www/404/>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/404-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/404-access.log combined

</VirtualHost>

我尝试使用另一个 vhost 通过子域访问另一个 html,并使用以下配置:

<VirtualHost *:80>
    ServerName test.MYFRITZ.myfritz.net

    DocumentRoot /var/www/404b

    <Directory /var/www/404b/>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/404b-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog ${APACHE_LOG_DIR}/404b-access.log combined

</VirtualHost>

但进入test.MYFRITZ.myfritz.net我的浏览器后,结果却是“无法访问此站点,test.MYFRITZ.myfritz.net 的 DNS 地址无法找到。正在诊断问题。DNS_PROBE_POSSIBLE”。

/var/www/404和都/var/www/404b/存在(404b只是 的副本404)。我以为使用ServerName可以定义子域?

答案1

Fritz!Box 支持两种类型的端口转发,常规端口转发和所谓的“MyFritz-Shares”。根据我的经验,只有 MyFritz-Shares 才会hostname.MYFRITZ.myfritz.net自动创建格式的 DNS 记录。对于常规端口转发,您需要自行设置第三方 DynDNS 服务。

确保您的端口转发是 MyFritz-Share。

由于 myfritz.net 由 AVM 控制,并且您无法设置任何您喜欢的子域记录,因此您需要使用 Fritz!Box 提供的内容或设置另一个域,例如指向您的 myfritz 地址的 CNAME 记录。

答案2

test.MYFRITZ.myfritz.net’s DNS address could not be found是一个清晰的诊断,可以告诉您问题所在:您的 DNS 中没有 A 记录定义test.MYFRITZ.myfritz.net。添加该记录,或为其添加指向 MYFRITZ 的 CNAME,这样就没问题了。

相关内容