使用 DigitalOcean、Rackspace 和其他公司的示例,我(反复)设置了一台服务器来提供基于名称的 Vhost。我注册了几个域名并转发到我当前的公共 IP 地址,但任何通过 Web 访问其中任何一个的尝试都只会导致最后的默认主机响应。
我将服务器的公共 IP 地址和域名添加到另一台本地计算机操作系统的 hosts 文件中,所有网站似乎都可以通过本地访问正常运行。
由于这是我第一次尝试网络托管,因此我不知道下一步该怎么做。看来,由于 LAN 访问功能正常(将服务器信息添加到 hosts 文件中),并且从 www 找到服务器并处理请求,因此设置至少接近正确。我想是 .conf 文件或类似文件不太正确。或者可能是路由器端口转发?
有什么建议吗?我应该在这里添加一些代码片段来帮助澄清吗?
更新。这是我的虚拟主机.conf
文件:
# domain: example.com
# public: /var/www/example.com/html
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
LogLevel debug ErrorLog /var/log/apache2/error-mydomainname.com.log
CustomLog /var/log/apache2/access-mydomainname.com.log combined
</VirtualHost>
答案1
- 确保端口已向公众开放。我使用 ufw,可以使用 ufw status 命令查看端口的状态。参考:UFW 基础知识:常见防火墙规则和命令 | DigitalOcean
- 检查您的 sites-available 是否也在您的 sites-enabled 中 如何在 Ubuntu 或 Debian VPS 上配置 Apache Web 服务器 | DigitalOcean
更改后,请务必重新启动 apache2 服务器。您的路由器还需要允许访问计算机上的端口。您可以按照 VPS 类型服务器上的指南进行操作。它们与本地托管计算机相同。
答案2
问题已解决。解决方案是使用我的注册商正确配置网站的 DNS 记录。我没有在正确的字段中设置 A 记录的 IP 地址 - 管理器菜单允许两种不同的方法来执行此操作,而我没有选择正确的方法。
感谢@JackNorthrup 和@pa4080 的热情帮助!