「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.

実はわからないので...私のウェブサイトはHTTPSの2ページを除いて完全なHTTPです。ここに私のバーチャルホストがあります:

<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>

それで、どこでミスをしたのでしょうか?私はそれを見つけることができません...助けてくれませんか?

ありがとう:)


Apache 2.4.7でも同じ問題が発生しています。SNIサポートの問題ではありません。「ログレベルを下げるだけ」という本当の答えもありません:)
イグアナノー

回答:


10

Apacheは、名前ベースの仮想ホストではSSLをサポートせず、IPベースの仮想ホストでのみサポートすることを読みました。だから私はそれを変更しました:

 <VirtualHost *:443>

沿って:

 <VirtualHost 192.168.1.1:443>

今のところ、それはうまくいくようです、それが良い解決策であるかどうかはわかりませんが、エラーはありません...


1
実際、Apacheの推奨事項と設定例はこちらです。
ベン

10
apache-2.4の同じ問題は、このソリューションでは修正されません:(
mircealungu

SSL経由でサービスを提供しようとしているホスト名が複数ある場合は、複数のIPを追加する必要があります。
quickshiftin

1
Apacheは、IE8 / WinXPよりも新しいクライアントで「0.9.8j以降のOpenSSLで構築された2.2.12以降のWebサーバーを使用して」同じIPを使用する複数のVirtualHostsでSSLをサポートすることになっています。これはSNIと呼ばれます。ここで議論があります。動作していますが、これらの厄介なログメッセージはどこにでもあります!
15年

それは私のために働いていません。
QkiZ

2

もう1つの要件は、VirtualHost SSLポート443ディレクティブブロックの最後に次の行を追加することです

SetEnv nokeepalive ssl-unclean-shutdown

ここで述べたように


2
これは悪いアドバイスです。nokeepaliveサーバー構成に追加するとパフォーマンスが大幅に低下する可能性があり、せいぜい古いバージョンのMSIEにのみ必要です。blogs.msdn.microsoft.com/ieinternals/2011/03/26/を
イグアナナット

0

私にとって、このエラーの次のように途方もなく簡単な解決策です(このエラーは、ファイル/フォルダをルートとして追加した後に表示されます):

chown www-data: /var/www -R
chmod 755 /var/www -R
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.