Назад | Перейти на главную страницу

Ошибка 403 Apache2 с несколькими виртуальными хостами

У меня проблемы с установкой Apache2.

На прошлой неделе из-за сбоя жесткого диска я сделал общую резервную копию, поменял жесткий диск на новый и снова установил все SO (Debian 7 AMD64) и Apache2. Я восстановил все данные из резервной копии на новый диск.

Я снова настроил виртуальный хост с той же конфигурацией, что и при последней установке, но на этот раз, когда я пытаюсь получить доступ к любому виртуальному хосту, кроме одного, на котором размещается только статический контент.

Нет ошибок в файлах ошибок Apache, а также нет ошибок или предупреждений во время запуска Apache. Я также проверил разрешения и владельцев файловой системы.

Вот мои файлы конфигурации:

apache2.conf

ServerRoot "/etc/apache2"

LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>

DefaultType None
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel debug
Include mods-enabled/*.load
Include mods-enabled/*.conf
Include ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
 LogFormat "%h %l %u %t \"%r\" %>s %O" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 Include conf.d/
 Include httpd.conf

httpd.conf

<VirtualHost x.x.x.x:80>
        DocumentRoot /home/www/hostname.domain.tld
        ServerName hostname.domain.tld
        ServerAdmin soporte@domain.tld

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /home/www/hostname.domain.tld>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost x.x.x.x:80>
        DocumentRoot /home/www/static.domain.tld
        ServerName static.domain.tld
        ServerAdmin soporte@domain.tld

        <Directory /home/www/static.domain.tld>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost x.x.x.x:80>
        DocumentRoot /home/www/mail.anijapan.com
        ServerName mail.domain.tld
        ServerAdmin soporte@domain.tld

        <Directory /home/www/mail.domain.tld>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost x.x.x.x:80>
        DocumentRoot /home/www/bugs.domain.tld
        ServerName bugs.domain.tld
        ServerAdmin soporte@domain.tld

        <Directory /home/www/bugs.domain.tld>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

ports.conf

NameVirtualHost x.x.x.x:80
Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Пробовал разные вещи, искал в гугле и т.д. безрезультатно.

Кто-нибудь имеет представление о моей проблеме?

Спасибо!

Я наконец-то добился того, чтобы Apache работал без ошибок 403. Причина 403 ошибки очень проста и не находится на сервере.

Для управления DNS домена я использую CloudFlare. Чтобы обеспечить обслуживание, пока сервер HD был изменен, я перемещаю все веб-сайты на другой сервер с новым IP. После того, как я установил ОС на новый HD, я переместил веб-сайты на новый диск с сервера аварийного восстановления, и я изменил в CloudFlare IP-адрес для DNS-записей на старый, но CloudFlare здесь не работает, потому что они этого не делают. распространил по внутренней ошибке новый IP-адрес. Я видел, что создание трассировки (очень глупое решение, но эффективное) позволяет увидеть реальный конечный пункт назначения записи A, а не конечный пункт назначения, который отображается в CloudFlare.

Чтобы CloudFlare использовал правильную запись A, я удалил ее, сохранил изменение и затем добавил запись A к правильному IP-адресу. Как только я это сделал, все заработало.

Запустите apache таким образом, передний план + отладка, если он не может писать журналы по какой-то причине, таким образом он запустится.

. /etc/apache2/envvars
apache2 -e debug -DFOREGROUND

Еще одна рекомендация - посмотреть / var / log / messages и / var / log / syslog, но вы, вероятно, уже сделали это Подробнее на этой странице zroger.com