gpt4 book ai didi

scala - WSClient Play Framework SSL 设置

转载 作者:行者123 更新时间:2023-12-03 21:26:55 25 4
gpt4 key购买 nike

我正在尝试通过自定义 ssl 配置在我的 Play 应用程序中使用 WSClient,但它不起作用。

我的 Controller 如下所示:

@Singleton
class HomeController @Inject()(cc: ControllerComponents, ws: WSClient, configuration: Configuration) extends AbstractController(cc) {

implicit val timeout: Timeout = 5 seconds

def index() = Action.async {
val url = "https://our-microservice-endpoint.com"
ws.url(url).get().map {
response =>
Ok((response.xml \\ "payload").head.text)
}
}
}

我已将以下 ssl-config 对象添加到 application.conf :
ssl-config {
keyManager = {
stores = [
{ type = "JKS", path = "client.jks", password = "changeit1" }
]
}
trustManager = {
stores = [
{ type = "JKS", path = "exampletrust.jks" }
]
}
}

(显然我的本地设置已经到位)。我知道我传递给 key 存储和信任存储的值是有效的,因为它们是我在其他应用程序中使用的值。

但是,如果我调试应用程序并查看已注入(inject)的 wsclient,它似乎没有 ssl 设置。当我运行 Controller 时,我得到一个 ssl handshake_failure .

我错过了什么还是这一切都错了?我正在使用最新的 Play Framework 版本 2.6。

谢谢

最佳答案

这里有一个注释,“ssl-config”不是根键:
https://www.playframework.com/documentation/2.8.x/WsSSL#Table-of-Contents

NOTE: The links below are relative to Typesafe SSLConfig, which uses the ssl-config as a prefix for ssl properties. Play uses the play.ws.ssl prefix, so that, for instance the ssl-config.loose.acceptAnyCertificate becomes play.ws.ssl.loose.acceptAnyCertificate for your play WSClient configuration.



也许尝试用“play.ws.ssl”替换application.conf中的“ssl-config”。我不得不挖一点才能找到那个。这有点令人困惑。

关于scala - WSClient Play Framework SSL 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47346569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com