基本 Apache2 虚拟主机配置不起作用

基本 Apache2 虚拟主机配置不起作用

我在 Apache2 上的虚拟主机配置有一个小问题。

上下文:我有一个安装了 Apache2 的 Raspberry Pi。我想访问我的测试目录:“/var/www/html/test”。

所以我在“/etc/apache2/sites-available”中修改了我的 000-default.conf,如下所示,这有效:

 <VirtualHost *:80>

            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

    </VirtualHost>


    NameVirtualHost 192.168.1.29:80

    <VirtualHost 192.168.1.29:80>
    ServerName raspyvan
    DocumentRoot /var/www/html/test
    </VirtualHost>



    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

(raspyvan 是我的路由器和主机文件上的服务器名称)

但我会拒绝IP地址“192.168.1.29”的访问

所以我第二次修改了我的 000-default.conf 文件,如下所示:

Listen 192.168.1.29:80

ServerName DefaultServer
DocumentRoot /var/www/html

NameVirtualHost 192.168.1.29:80


<VirtualHost 192.168.1.29:80>
        ServerName 192.168.1.29

        <Directory />
                Deny from all
        </Directory>
</VirtualHost>


<VirtualHost 192.168.1.29:80>
                ServerName raspyvan
                DocumentRoot /var/www/test
</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

现在的问题是IP和主机名的访问被拒绝,我不知道为什么。

编辑:我的名称服务器应用于 DNS 路由器配置和主机 apache 文件。

答案1

当 apache 无法匹配虚拟主机时,它将始终使用它遇到的第一个虚拟主机(这就是为什么我们历来需要每个 ssl 证书一个 ip,直到 sni 出现)。

每个虚拟主机添加一个日志;

ErrorLog ${APACHE_LOG_DIR}/error-default.log
CustomLog ${APACHE_LOG_DIR}/access-default.log combined

ErrorLog ${APACHE_LOG_DIR}/error-raspyvan.log
CustomLog ${APACHE_LOG_DIR}/access-raspyvan.log combined

检查日志文件“access-default.log”以查看请求的主机名。

相关内容