Richie
(Richie Rich)
2019 年 9 月 14 日午後 1:23
1
みなさん、こんにちは。
最近、2.4.0.beta4 (1576b07a10 ) にアップデートしました。アップデート以降、外部アプリケーションの 1 つが Discourse API での認証ができなくなっています。
アプリケーションは単純なエラーを投げます。
The request was aborted: Could not create SSL/TLS secure channel.
アプリケーションは TLS1.2 を使用していますが、これはもうサポートされていないのでしょうか?
他のアプリケーションのデバッグに数時間を費やさないために、最近の変更点についてご意見があればお聞かせください。
Falco
(Falco)
2019 年 9 月 14 日午後 1:33
2
TLS のバージョン 1.2 および 1.3 が有効になっています。SSL Server Test (Powered by Qualys SSL Labs) をご自身でテストして確認できます。
Richie
(Richie Rich)
2019 年 9 月 14 日午後 1:40
3
@Falco さん、ありがとうございます。まだ残っていることを確認しました:
はい、デバッグを進めます。Discourse 側で何か別の変更があり、それが外部アプリケーションの停止を引き起こしているようです。これは開発環境と本番環境の両方で発生しています。
原因を特定できるよう頑張ります
Richie
(Richie Rich)
2019 年 9 月 14 日午後 3:17
4
実は、こちらで説明されている問題と非常に似た事例がありました:
For those users on old Windows versions, you probably need to enable the CBC ciphers:
[image]
The very next thing you should do is send those users to
to get information about what their browser supports. The easiest way to share their result is probably having them print to a PDF and send it to you.
当社の Discourse API に接続する外部レガシーアプリケーションは、古い Windows Server 2008 R2 上で動作しています。
理由は不明ですが、今週初めに Discourse のアップデートを適用したところ、Windows サーバーと Discourse サーバー間で暗号スイートの合意ができなくなっていました。アップデートによって何らかの暗号が変更されたのか、それとも同じタイミングで Let’s Encrypt の証明書更新が行われたことが原因なのかは分かりません
いずれにせよ、Discourse 側を編集するのではなく、@Falco さんが上記で共有した SSL Labs のリンクを参考に、両者で合意できる暗号スイートを Windows サーバー側にいくつか追加することで解決できました
Falco
(Falco)
2019 年 9 月 14 日午後 4:09
5
Richie:
古い Windows 2008 R2 サーバー
わあ、それってかなり古いね!サポート終了まであとわずか4ヶ月。そろそろ交換の時期かな
これは @gerhard さんの変更に関連している可能性はありますか?
gerhard
(Gerhard Schlager)
2019 年 9 月 15 日午前 10:11
7
これは、Debian へのアップグレードに伴う暗号スイートの切り替えが原因だったのかもしれません。楕円曲線証明書の追加を行っていたので、IE11 だけでなく、すべての古い Windows システムで動作すると思っていたのですが。もし私の記憶が正しければ、IE11 は Windows の暗号ライブラリを使用しているはずです…