以 XXX 为前缀的网站可以运行(XXX.example.com),但没有它则无法运行(403 错误)

以 XXX 为前缀的网站可以运行(XXX.example.com),但没有它则无法运行(403 错误)

我的 apache 配置文件中有一个Redirect permanent,所以我不知道 403 错误何时example.com开始发生。

# When attempting to fix possible permissions issues due to 403
<Directory "/var/www/example.com/public_html">
    Require all granted
</Directory>
#

<VirtualHost *:80>
    ServerName webserver1.example.com
    ServerAlias example.com www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/log/error_80.log
    CustomLog /var/www/example.com/log/requests_80.log combined
    #Redirect permanent / https://www.example.com
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
        ServerName webserver1.example.com
    ServerAlias example.com www.example.com
    ServerAdmin [email protected]
#   <Directory "/var/www/example.com/public_html">
#       Allow from all
#       Require all granted
#   </Directory>
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/log/error_443.log
    CustomLog /var/www/example.com/log/requests_443.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName webmail.example.com
    ServerAlias email.example.com
    Redirect permanent / https://webmail.example.com
</VirtualHost>
<VirtualHost *:443>
        ServerName webmail.example.com
        ServerAlias email.example.com
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
    DocumentRoot /usr/share/squirrelmail
</VirtualHost>

几乎所有内容都example.com在两个片段中起作用VirtualHost

我分离了端口 80 和 443 的日志,试图看看那里是否出现任何内容。

编辑:实际错误文本:

禁止访问!

您无权访问请求的目录。没有索引文档或目录受读保护。

如果您认为这是服务器错误,请联系网站管理员。
错误 403
示例.com
Apache/2.4.20(Unix)

error_80.log

[DOW MM DD HH:MM:SS YYYY] [:error] [pid PID] [client 127.0.0.1:PORT script '/var/www/example.com/public_html/xmlrpc.php' not found or unable to stat

解决方案:我没有想到要检查我的 /etc/hosts 文件,但我确实example.com在里面。我主要在我使用的计算机上运行测试,然后推送到我的真实服务器。

答案1

事实证明我example.com的 /etc/hosts 文件中有这个文件。

这是我的 /etc/hosts 文件:

#
# /etc/hosts:主机名静态查找表
#

#      
127.0.0.1 本地主机.本地域 本地主机
::1 localhost.localdomain 本地主机
# 以下行是导致问题的原因。如果我有 www.example.com,它也会出现问题。
127.0.0.1 example.com 本地主机

# 文件结束

相关内容