虚拟主机apache2 403错误

虚拟主机apache2 403错误

我正在尝试使用 Ubuntu 14.04 在 Apache2 中设置虚拟主机。文件内容host1.com.conf如下:

<VirtualHost *:80>

    ServerAdmin [email protected]
    ServerName host1.com
    ServerAlias www.host1.com
    DocumentRoot /var/www/host1.com/public_html

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

</VirtualHost>
  • 内容/etc/hosts

    127.0.0.1       localhost
    127.0.1.1       chandni-X451CA
    127.0.0.1       host1.com
    
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    
  • 内容/etc/apache2/sites-available/default-ssl

    <IfModule mod_ssl.c>
        <VirtualHost _default_:443>
             ServerAdmin [email protected]
    
             DocumentRoot /var/www/host1.com/public_html
    
             <Directory /var/www/host1.com/public_html>
                Require all granted
             </Directory>
    
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    
            SSLEngine on
            SSLCertificateFile  /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
    
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                  SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
            </Directory>
    
            BrowserMatch "MSIE [2-6]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    
        </VirtualHost>
    </IfModule>
    
  • 从终端禁用000-default.conf和启用:host1.com

    sudo a2dissite 000-default.conf && sudo a2ensite host1.com.conf
    
  • 重新启动Apache:

    sudo service apache2 restart
    

做完这些之后,

  • 当我转到 localhost 页面时我得到403 禁止错误。
  • 当我输入我的公共 IP 地址作为 URL 时,页面未加载
  • 当我导航到 host1.com 时,页面未加载。

可能的原因是什么?有人可以帮忙吗?

答案1

当您的 Web 服务器无法访问 DocumentRoot 文件夹时,就会出现此错误。您必须检查在 DocumentRoot 变量中指定的文件夹的父文件夹的权限。www-data 必须具有对父文件夹的读取和执行权限,还必须具有对 DocumentRoot 目录下文件的读取权限。您可以通过将文件和文件夹的所有者更改为 www-data 或授予所有其他人读取和执行权限来解决此问题。

相关内容