ssl_error_rx_record_too_longおよびApache SSL [終了]


242

私のサイトの1つにアクセスしようとしている顧客がいて、このエラーが何度も発生する> ssl_error_rx_record_too_long

すべてのブラウザ、すべてのプラットフォームでこのエラーが発生しています。問題をまったく再現できません。

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

私は問題をググりました、そして主な情報源はSSLポートがHTTPで話していることです。サーバーを確認しましたが、これは発生していません。ここで説明した解決策を試しましが、問題は修正されなかったとお客様から言われました。

これを修正する方法、またはこれを再現するにはどうすればよいですか?

ソリューション

お客様のローカルプロキシの設定が間違っていることがわかりました。

将来的にデバッグしようとしているこの質問を見つける人を助けることを願っています。


私はそれが物事の側で誤って設定されたプロキシによって引き起こされるかもしれないと思っています。それについて何か考えはありますか?
サブイメージ2008

34
オフトピックとしてクローズされましたが、非常に価値のある質問のようです(このエラーメッセージに関してGoogleで非常にランクが高い)ので、おそらくServerFaultに移動する必要がありますか?それは6年前の質問なので、質問が最初に尋ねられたときSFはおそらく利用できませんでした...
kdmurray 2014

12
これは、SSL_ERROR_RX_RECORD_TOO_LONGの最初のWeb検索結果です。32のお気に入り、193の賛成票、複数の非常に賛成の回答があり、この質問には存在する権利がないことを他の人よりもよく知っている人によると、トピックから外れています。
Vladimir Kornea 2017年

2
私はこのメッセージを生成する私の証明書の問題をデバッグできましたopenssl s_client -connect my-domain.tld:443
azmeuk

2
@サブイメージ「このソリューションでは、ローカルプロキシの設定が間違っていることがわかりました!」これが何を意味するのか説明してください。より具体的にすることもできます。あなたが解決策を持っていることを知るのはイライラしますが、それを明確に説明しません
ptrcao

回答:


169

サブイメージが言及したリンクは、私のためにお金を右でした。仮想ホストタグを変更することを提案し<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


5
確認する項目のリストに追加するために、これらのすべての項目を確認した後、<VirtualHost default:443>を<VirtualHost fqdn:443>にスワップして、最終的に機能させる必要がありました。
JimP 2011年

2
この問題は、whm / Cpanelサーバーで発生しました。私は問題を修正するためにsslを再インストールしました。
Mike D

15
_default_:443私のために働いた。いいえ、寝ることができます!
Garfonzo 2012年

チェックすべきもう1つのことは、デフォルトでSSLが使用されている可能性がありますが、この問題のある新しいvirthostがある場合、ポートが開いていてもSSL構成がまだ提供されていない可能性があります。(別名、おっと、一歩足りなかった。)
ジョサイア

1
また、不適切な設定でポート443をリッスンしている他のVirtualHost confファイルがないことを確認してください。1つの不正なconfファイルにより、すべてのSSLサイトがダウンする可能性があります。
Nostalg.io

120

私のための解決策はdefault-ssl、Apache 2では有効になっていなかった...SSLEngine On

私は実行する必要がa2ensite default-sslあり、すべてが機能しました。


4
私は使用しましたa2enmod ssla2ensite default-ssl、デフォルトのvhost confから忘れてしまいました。ありがとうございました!
m3nda

彼らは本当にdefault-sslUbuntuですでに有効にする必要があります。
BadHorsie 2016年

32

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

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

乾杯!


1
localhost:443はplian htmlをロードします、何をしますか?
niran 2016年

@niran <VirtualHost>ディレクティブのOSデフォルトに依存すると思います。デフォルトを見つけて適切に調整し、SSLがそのVirtualHostで有効になっていることを確認してください。
alexm

1
000-default.confにSSLEngineのない未使用の:443セクションがあったため、vhostでこの問題が発生しました。Apacheログはこれを示し、私を正しい軌道に乗せました:AH01916: Init: (myhost.example.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
mivk

私の問題は、「sudo a2ensite default-ssl.conf」を実行していなかったことでした。ssl confは、sites-enabledディレクトリにのみ存在し、sites-availableにのみ存在しました。
Json、


10

新しいhttps vhostのセットアップ後にエラーが発生し、構成が正しいと思われる場合は、リンクsites-enabledも忘れずに行ってください。


2
ばかげているように聞こえるが、それは私を捕まえた
Alexei Tenitski

2
リンクではなくa2ensiteを使用してください。これはほとんどのシステムで正しい方法です
AsTeR

1
また、apache2.conf(Ubuntu)でルールを確認してください:IncludeOptional sites-enabled / *。conf。リンクが「.conf」で終わっていることを確認するか、すべてのファイルを含めるようにルールを変更してください。
lepe

1
私は正しい構文でサイト構成を作成し、それをサイト利用可能にリンクしました。問題は、私の設定の名前が「.conf」で終わっていなかったため、読み込まれず、エラーが発生したためです。私の場合の構成は、ディレクティブ "IncludeOptional sites-enabled / *。conf"を使用してロードされたため、構成の名前も<Whatever> .confにする必要があります。些細なことですが、構文エラーは発生しません(結局ロードされることはありません)。また、lsがサイトで利用可能であることを示しているため、イライラします...
roland.minner

7

古い質問ですが、最初にGoogleで結果が出たので、ここで私がしなければなりませんでした。

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

Apacheのインストール時にすべての構成とmod_sslがインストールされましたが、まだ適切な場所にリンクされていません。注:以下のすべてのパスは/ 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にアクセスしようとしたので、外部アクセスによって結果が異なる場合がありますが、これは私にとってはうまくいきました。


9
コマンド「a2ensite default-ssl」および「a2enmodule ssl」は、モジュールとサイトのシンボリックリンクの管理を簡素化します。
ジョサイア


4

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


これも私にとって問題であったことを確認できます...間違ったIPアドレス
StanleyD

3

こちらのリンクをご覧ください。

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


2

私の場合、問題は、Listen 443が "IfDefine SSL"を誤解していたためにhttpsが正常に開始できなかったが、私のApacheが-DSSLオプションで開始しなかったことでした。修正は私のapachectlスクリプトを変更することでした:

$HTTPD -k $ARGV

に:

$HTTPD -k $ARGV -DSSL

それが誰かを助けることを願っています。


1

私の問題は、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 set interface "Wireless Network Connection" mtu = 1400

VPN以外の接続でも問題になる可能性があります...


1

私はめちゃくちゃな仮想ホスト設定を持っていました。ポート80にSSLを使用しない仮想ホストが1つ、ポート443にSSLを使用する仮想ホストが1つ必要であることを覚えておいてください。1つの仮想ホストに両方を配置することはできません。


0

一部のブラウザでSSLサイトにアクセスするのに同じ問題がありました。私は、fireFoxに適切なプロキシを与える必要があること発見しました(FireFoxはインターネットに直接アクセスしていました)。

LAN構成(トンネリング、フィルタリング、プロキシリダイレクト)に応じて、FireFoxの「インターネットへの直接アクセス」モードでこのエラーがスローされます。


一部のプロキシは、予期しないHTTPSリクエストに対してHTTPエラー応答を返します(たとえば、間違ったプロキシを経由した場合や、プロキシの設定が誤っている場合)。ブラウザはプロキシのエラーメッセージを表示するのではなく、会話全体を拒否してエラーをスローするため、これを診断するのは本当に難しい場合があります。Wiresharkは仕事をします。自分でこれに遭遇しました。
オービットのライトネスレース

0

また、hostsファイルを修正してみてください。

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

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

apache2を再起動すると、エラーはなくなるはずです。


0

私にとっての解決策は、私のddclientが適切にcronを実行していないことでした...

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