У меня есть Redirect permanent
в моем конфигурационном файле apache, поэтому я не знаю, когда ошибка 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 admin@example.com
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 admin@example.com
# <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, чтобы посмотреть, не появилось ли там что-нибудь.
Изменить: Фактический текст ошибки:
Access forbidden! You don't have permission to access the requested directory. There is either no index document or the directory is read-protected. If you think this is a server error, please contact the webmaster. Error 403 example.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
в этом. В основном я проводил тесты на компьютере, который использовал, а затем отправлял на свой настоящий сервер.
Оказывается, у меня было example.com
в моем файле / etc / hosts.
Вот мой файл / etc / hosts:
# # /etc/hosts: static lookup table for host names # # 127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost # The following line is what was causing the issues. If I had had www.example.com it too would have been having issues. 127.0.0.1 example.com localhost # End of file