调用 Discourse API 抛出 SSLHandshakeException

大家好,

我们的 Discourse 论坛已配置为使用 SSL 协议:TLSv1.2,以及强加密套件:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

在从运行于 JDK7 的 Liferay 6.2 框架中通过 Apache httpclient 调用 Discourse API 时,抛出以下异常:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

我认为这是因为*JDK7 未实现任何 GCM 加密套件。如何解决此问题?或者是否有其他方式可以从 Java 平台调用 Discourse API?

谢谢,
Saurabh Khandelwal

我猜升级到 JDK8 不是可行的选择?

不,我们无法升级到 JDK8。
我原本打算使用 JavaScript 的 AJAX 调用发起请求,但请求被 CORS 策略阻止了。
如何为 Discourse 启用 CORS?

我认为您需要配置 cors_origins 站点设置。

那这条说明呢:
必须将 DISCOURSE_ENABLE_CORS 环境变量设置为 true 以启用 CORS。
该如何设置?

如果您是自托管,可以在 app.yml 中添加它。在我们的托管环境中,通常默认已启用。