如何使用服务器名称通过public-ip访问Apache网站?

时间:2020-03-23 08:16:05

标签: apache

我已按照https://www.vultr.com/docs/how-to-install-vanilla-forum-on-ubuntu-16-04上的步骤在public-ip的Ubuntu服务器上安装了香草。

然后如下配置/etc/apache2/sites-available/forum.example.com.conf

<VirtualHost *:80>
    ServerName forum.example.com
    DocumentRoot /var/www/vanilla
    <Directory /var/www/vanilla>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

然后我可以在浏览器中访问http://public-ip,但结果是Apache2 Ubuntu Default Page

如何在浏览器中访问已安装的香草?我应该对forum.example.com.conf进行任何更改吗?

1 个答案:

答案 0 :(得分:0)

如果请求与虚拟主机不匹配,则Apache将从顶级(而不是在块内)DocumentRoot配置值提供文件。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot /var/www/html

我不太了解Ubuntu,但是我猜这是在/etc/apache2/apache2.conf中。您可以将其更改为/ var / www / vanilla以服务您的论坛,而不是默认页面。

或者,您可以重命名/删除现有的/ var / www / html并使其成为/ var / www / vanilla的符号链接:然后Apache将选择论坛文件,而无需进行任何配置更改。

或者,如果您只是想自己设置访问权限,则可以将DNS名称添加到主机文件(Linux上为/ etc / hosts,Windows上为\ Windows \ System32 \ drivers \ etc \ hosts)

forum.example.com AAA.BBB.CCC.DDD

然后您可以正常使用浏览器中的forum.example.com,它将发送“ Host”标头,因此Apache会匹配虚拟主机,即使未将其配置为公共DNS。