web-dev-qa-db-ja.com

ssl_error_rx_record_too_longとApache SSL

私のサイトの1つにアクセスしようとしている顧客がいますが、エラーが表示され続けます> ssl_error_rx_record_too_long

彼らはすべてのブラウザ、すべてのプラットフォームでこのエラーを受けています。私はその問題をまったく再現できない。

私のサーバーと私自身はアメリカにいます、顧客はインドにいます。

私はこの問題についてグーグルしました、そして主な原因はSSLポートがHTTPで話しているということのようです。私は自分のサーバーをチェックしましたが、これは起こりません。私は ここで述べた解決策を試した が、顧客はそれが問題を解決しなかったと述べている。

どうすればこれを修正できるか、またはどうすればこれを再現できますか。

解決策

顧客が誤って設定されたローカルプロキシを持っていたことがわかりました!

誰かがこの質問を見つけて将来デバッグしようとするのを助けてくれることを願っています。

228
Subimage

Subimageが言及したリンク は、私にとっては正当な金額でした。仮想Hostタグを<VirtualHost myserver.example.com:443>から<VirtualHost _default_:443>に変更することを提案しました

エラーコード:ssl_error_rx_record_too_long

これは通常あなたのサーバー上のSSLの実装が正しくないことを意味します。このエラーは通常、サーバー管理者が調査する必要があるサーバー側の問題によって引き起こされます。

以下は私たちが試みることをお勧めするものです。

  • サーバーでポート443が開いていて有効になっていることを確認してください。これはhttps通信用の標準ポートです。

  • SSLが非標準ポートを使用している場合、FireFox 3は時々このエラーを出すことがあります。 SSLがポート443で実行されていることを確認してください。

  • Apache2を使用している場合は、SSLにポート443を使用していることを確認してください。これは、ports.confファイルを次のように設定することで実行できます。

    Listen 80
    Listen 443 https
    
  • 同じIPを共有する複数のSSL証明書がないことを確認してください。すべてのSSL証明書が独自の専用IPを利用するようにしてください。

  • Apache2を使用している場合は、vhostの設定を確認してください。 <VirtualHost>_default_に変更してエラーを解決したと報告しているユーザーもいます。

これで私の問題は解決しました。私がエラーメッセージをグーグルして、正しい答えで最初にヒットすることは稀です。 :-)

上記に加えて、これらは他の人々が問題を引き起こしていることを発見したいくつかの他の解決策です:

  • SSL証明書が期限切れになっていないことを確認してください。

  • 暗号を指定してみます。

    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3

154
Randall

私にとっての解決策はdefault-sslがApache 2で有効にされていないことでした....ただSSLEngine Onを置くこと

私はa2ensite default-sslを実行しなければならなかった、そしてすべてがうまくいった。

109
Webnet

私の場合は、<VirtualHost *>を<VirtualHost *:80>(Ubuntuのデフォルト)に戻す必要がありました。そうでなければ、ポート443はSSLを使用しておらず、プレーンHTMLをブラウザに送り返していました。

これがあなたのケースであるかどうかを非常に簡単に確認することができます:あなたのサーバーに接続するだけです http://www.example.com:443 。単純なHTMLが表示されている場合、Apacheはポート443でSSLをまったく使用していません。これは、おそらくVirtualHostの設定ミスが原因と考えられます。

乾杯!

32
alexm

私の場合は、設定でSSLEngine Onを設定するのを忘れていました。そのようです、

<VirtualHost _default_:443>
  SSLEngine On
  ...
</VirtualHost>

http://httpd.Apache.org/docs/2.2/mod/mod_ssl.html#sslengine

19

新しいhttps vhostを設定した後にエラーが発生し、設定が正しいと思われる場合は、sites-enabledでもリンクすることを忘れないでください。

8
drillingman

昔の質問ですが、最初はGoogleになりました。そのため、ここで私がしなければならなかったことがあります。

ApacheがインストールされたUbuntu 12.04デスクトップ

すべての設定とmod_sslは、Apacheをインストールしたときにインストールされましたが、まだ適切な場所にリンクされていません。注:以下のパスはすべて/ etc/Apache2 /に対する相対パスです。

mod_ssl./mods-availableに格納され、SSLサイトの設定は./sites-availableにあります。これらを./mods-enabledおよび./sites-enabled内の正しい場所にリンクするだけです。

cd /etc/Apache2
cd ./mods-enabled
Sudo ln -s ../mods-available/ssl.* ./
cd ../sites-enabled
Sudo ln -s ../sites-available/default-ssl ./

Apacheを再起動すればうまくいきます。私は https:// localhost にアクセスしようとしていたので、あなたの結果は外部アクセスのために異なるかもしれませんが、これは私のために働いた。

7
Tarka

ユーザーがブラウザで使用している正確なURLを尋ねます。彼らが https://your.site:80 を入力している場合、彼らはssl_error_rx_record_too_longエラーを受け取るかもしれません。

4
dan-manges

私の場合、仮想ホストファイルに間違ったIPアドレスがありました。 listenは443、スタンザは<VirtualHost 192.168.0.1:443>でしたが、サーバーには192.168.0.1というアドレスがありませんでした。

4
fimbulvetr

このリンクを見てください。

実際のエラーが見つかるまで、すべてのApacheログファイルを調べました(<VirtualHost>_default_からfqdnに変更しました)。このエラーを修正すると、すべてうまくいきました。

3
rogovsky

私の場合は、Listen 443が "IfDefine SSL"で無効になっていたためにhttpsが正しく起動できなかったのですが、私のApacheは-DSSLオプションで起動しませんでした。修正は私のapachectlスクリプトを以下のように変更することでした。

$HTTPD -k $ARGV

に:

$HTTPD -k $ARGV -DSSL

誰かに役立つことを願っています。

2
Pushnov Iliya

私はめちゃくちゃ仮想ホストの設定がありました。ポート80にSSLのない仮想ホストが1つ、ポート443にSSLのある仮想ホストが1つ必要であることを忘れないでください。

1
Sven

私の問題はVPN接続上の低いMTUが原因でした。

netsh interface ipv4 show inter

Idx  Met   MTU   State        Name
---  ---  -----  -----------  -------------------
  1 4275 4294967295  connected    Loopback Pseudo-Interface 1
 10 4250   **1300**  connected    Wireless Network Connection
 31   25   1400  connected    Remote Access to XYZ Network

修正:netsh interface ipv4が "Wireless Network Connection"インタフェースを設定するmtu = 1400

それはまた非VPN接続上の問題であるかもしれません….

1
Chris

私にとっての解決策は、私のddclientが適切に起動していないことでした...

0
Anon

私は自分のSSLサイトにアクセスするためにいくつかのブラウザで同じ問題を抱えていた。 fireFoxに正しいプロキシを渡さなければならないことがわかりました(FireFoxはインターネットに直接アクセスしていました)。

LAN設定(トンネリング、フィルタリング、プロキシリダイレクト)によっては、FireFoxの「インターネットへの直接アクセス」モードでこのエラーが発生します。

Hostsファイルを修正してみることもできます。

Vhostファイルを完全修飾ドメインで保存し、hostsファイルにホスト名を追加します/ etc/hosts(debian)

ip.ip.ip.ip name name.domain.com

Apache2を再起動した後、エラーは消えます。

0
gaspard