本地主机子域名可以工作,但远程地址不行

本地主机子域名可以工作,但远程地址不行

我对 Ubuntu 相当陌生,但我必须将其安装在 VPS 上,才能将两个不同的网站显示为子域。其中一个是 Drupal 8 网站,另一个是静态 html 网站(index.html)

我在 /var/www 上建立了两个网站,并且我认为我在 apache2 上正确配置了一切,因为我将两个子域添加到hosts文件中以便在本地访问并进行了一些测试,它们运行良好。

当我输入old.myaddress.comnew.myaddress.com两者时,它们都会在本地加载。但是,如果我尝试通过互联网或从另一台计算机访问,它只会加载 Drupal。为什么?

值得一提的是,我获得了一个域名,并将两个子域名配置old.myaddress.comnew.myaddress.com重定向到同一个 IP(我的 VPS 服务器 IP)。据我了解,apache 应该将用户发送到不同的站点吗?

这些是我的.conf 文件etc/apache2/sites-available

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.myaddress.com
    ServerAlias old.myaddress.com
    DocumentRoot /var/www/oldwebsite/myaddress.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.myaddress.com
    ServerAlias new.myaddress.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

为了澄清一下,我问的是在哪里缺少的配置是。如果本地加载网站有效,可能仍然是 apache?是我的 DNS?我的 ISP?Drupal 配置?我很困惑。

答案1

我假设您的 DNS 域已正确配置并new.myaddress.com正确old.myaddress.com解析到您的服务器 IP。您可以在另一台机器上使用以下命令进行检查:

nslookup old.myaddress.com

如果这些名称解析为同一个 IP,则您的配置在本地有效,而在远程无效,这很奇怪。ping每个地址最终都会nslookup报告相同的 IP 地址吗?

另外,ServerName多个 VirtualHost 不应具有相同的值。您可以使用任意值ServerAlias,只要相同的值只使用一次即可。我会www.myaddress.com从旧网站的 VirtualHost 配置中删除。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName old.myaddress.com
    DocumentRoot /var/www/oldwebsite/myaddress.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.myaddress.com
    ServerAlias new.myaddress.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

答案2

显然,我必须将正确的 IPv4 和 IPv6 设置为我的子域的 DNS 记录 A 和记录 AAAA。

对于像 1and1(Ionos)这样的 DNS 提供商,当您设置域或子域时,它会假定它托管在其位置,并且为了将其绑定到外部托管,您需要手动编辑记录 A 和 AAAA 以指向您的 IP 服务器。

相关内容