«Ошибка чтения фильтра ввода SSL» Apache и 443

17

У меня есть небольшая проблема с моим Apache Conf. Когда я читаю журнал ошибок, вот что я вижу:

[client xxx.xxx.xx.xx] AH01964: Connection to child 1 established (server www.mywebsite.com:443)
[client xxx.xxx.xx.xx] AH01964: Connection to child 6 established (server www.mywebsite.com:443)
[client xxx.xxx.xx.xx] AH01964: Connection to child 10 established (server www.mywebsite.com:443)
[client xxx.xxx.xx.xx] AH01964: Connection to child 15 established (server www.mywebsite.com:443)
[client xxx.xxx.xx.xx] AH01964: Connection to child 18 established (server www.mywebsite.com:443)
(70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
(70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
(70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
(70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
(70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.

И иногда этот:

 (70007)The timeout specified has expired: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.

Я не знаю, на самом деле ... так что мой сайт заполнен HTTP, за исключением двух страниц в HTTPS. Так вот мой виртуальный хост:

<VirtualHost *:80>
    ServerName mywebsite.com
    Redirect permanent / http://www.mywebsite.com/
</VirtualHost>
<VirtualHost *:80>
    ServerName www.mywebsite.com
    ServerAlias img.mywebsite.com
    ServerAdmin xxx
    DocumentRoot /home/mywebsite/www/public
    <Directory /home/mywebsite/www/>
        Options Indexes Multiviews FollowSymlinks
        AllowOverride All
        Require all granted
        ErrorDocument 403 http://www.google.com/
    </Directory>
    <Directory /home/mywebsite/www/public/resource/private/>
        Require all denied
        ErrorDocument 403 http://www.mywebsite.com/
    </Directory>
    <Location "/robots.txt">
            Require all granted
    </Location>

    LogLevel info
    ErrorLog ${APACHE_LOG_DIR}/mywebsite_error.log
    CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName www.mywebsite.com
        DocumentRoot /home/mywebsite/www/public
            <Directory /home/mywebsite/www/>
                Options Indexes FollowSymlinks Multiviews
                AllowOverride all
                Require all granted
            </Directory>
        LogLevel info
        ErrorLog ${APACHE_LOG_DIR}/mywebsite_error.log
        CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log combined

        SSLEngine on
        SSLCertificateFile ./mywebsite.crt
        SSLCertificateKeyFile ./mywebsite.key
        SSLCertificateChainFile ./intermediate.crt
    </VirtualHost>
</IfModule>

Итак, где я сделал ошибку? Я не могу это выяснить ... Вы можете мне помочь?

спасибо :)

user3013440
источник
У меня та же проблема в Apache 2.4.7. Это не вопрос поддержки SNI. Да и «просто понизить уровень бревна» не является реальным ответом :)
Iguananaut

Ответы:

10

Я читал, что Apache не поддерживает SSL на виртуальном хосте на основе имен, только на виртуальных хостах на основе IP. Итак, я изменил это:

 <VirtualHost *:443>

по:

 <VirtualHost 192.168.1.1:443>

Пока, похоже, работает, я не знаю, хорошее ли это решение, но у меня нет ошибок ...

user3013440
источник
1
Действительно, рекомендации Apache и пример конфигурации здесь .
Бен
10
Та же проблема в apache-2.4 не
решается
Вам может потребоваться добавить несколько IP-адресов, если у вас есть несколько имен хостов, которые вы пытаетесь обслуживать по SSL.
quickshiftin
1
Предполагается, что Apache поддерживает SSL на нескольких виртуальных хостах, использующих один и тот же IP-адрес «с использованием веб-сервера 2.2.12 или новее, построенного с OpenSSL 0.9.8j или новее» с клиентами, более новыми, чем IE8 / WinXP. Это называется SNI. Там это обсуждение здесь . У меня это работает, но эти надоедливые сообщения журнала везде!
часть
Это не работает для меня.
QkiZ
2

Еще одно требование - добавить следующую строку в конец блоков директив 443 VirtualHost SSL-порта.

SetEnv nokeepalive ssl-unclean-shutdown

Как указано здесь :

negamips
источник
2
Это плохой совет. Добавление nokeepaliveконфигурации вашего сервера может серьезно снизить производительность, и это необходимо только для более старых версий MSIE. См. Blogs.msdn.microsoft.com/ieinternals/2011/03/26/…
Iguananaut
0

для меня смехотворно простое решение этой ошибки следующим образом (эта ошибка появляется после добавления файлов / папок от имени root):

chown www-data: /var/www -R
chmod 755 /var/www -R
Янош Сабо
источник