【问题标题】:DigitalOcean hosting with GoDaddy domain denying access to root directory带有 GoDaddy 域的 DigitalOcean 主机拒绝访问根目录
【发布时间】:2017-02-28 12:35:38
【问题描述】:

我在 GoDaddy 上拥有一个域,并试图将其指向我的 DigitalOcean 托管网站。以下是我到目前为止所采取的步骤:

  • 我将包含我所有网站文件的 git 存储库从本地克隆到我的 DigitalOcean 服务器。

  • 我在 godaddy 上为我的域添加了一条 @ 记录,并将其指向我的 DigitalOcean IP 地址。

  • 重要!!我修改了 /etc/apache2/sites-enabled/000-default.conf,新的 VirtualHost 将 mydomain.com 指向 index.html,不是根目录

  • 然后我在 sshed 到终端上的 DigitalOcean 时继续执行“service apache2 restart”。

  • 我认为这可行,然后对其进行了测试并访问了 mydomain.com。没那么多。这是我得到的错误:

    禁止

    您无权访问此服务器上的 /。

    Apache/2.4.7 (Ubuntu) 服务器位于 mydomain.com 端口 80

这显然很令人惊讶,因为它没有重定向到 index.html,所以我手动将 /index.html 附加到 mydomain.com 却发现它给了我一个相同的错误,只是我无法访问 /index.html而不是 /。

我以前做过很多次这样的事情,但是我在现有域上使用了 godaddy 的子域记录,而不是使用没有子域的全新域。我哪里做错了?

谢谢!

布兰登

更新:我尝试使用 test.mydomain.com 测试子域并收到此新错误:

未找到

在此服务器上找不到请求的 URL /。

Apache/2.4.7 (Ubuntu) 服务器位于 test.mydomain.com 端口 80

【问题讨论】:

  • 你用子域测试过吗?其他要尝试的事情,它们是 DO 中的一个网络选项卡,如果我没记错的话,你必须使用它来将域链接到 droplet ip
  • 不,我没有,我现在就这样做。
  • 好吧,我试过了,得到一个新错误:未找到请求的 URL / 未在此服务器上找到。 Apache/2.4.7 (Ubuntu) 服务器在 test.mydomain.com 端口 80
  • 试试这个指南digitalocean.com/community/tutorials/… 如果问题出在 DNS 记录上,这应该可以提供帮助。

标签: apache dns virtualhost digital-ocean


【解决方案1】:

您注意到您修改了虚拟主机以指向 index.html 而不是根目录。 Apache 仍将使用根目录 (DocumentRoot) 来定位 index.html 文件。如果它在错误的位置查找,它可以解释 403 错误(例如在 Web 服务器用户 [www-data] 无法读取的位置查找)。

除此之外,类似的 403 可能与权限相关。您需要确保 DocumentRoot 和 index.html 文件拥有 www-data:www-data 的所有权,并且它们都可以被 Web 服务器本身读取(文件夹为 755,文件为 644 是常态)。

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多