You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala微服务Akka Management配置HTTPS后仍以HTTP运行问题

Akka Management编程式启用TLS失败,端口仍运行明文HTTP

问题现象

  • 已通过AkkaManagement.withHttpsConnectionContext()编程式配置TLS上下文,但8558端口仍接受明文HTTP请求(telnet可直接发送GET获取响应)
  • 使用openssl s_client发起HTTPS请求时握手失败,服务日志提示Unsupported HTTP method: The HTTP method started with 0x16 rather than any known HTTP method,确认端口走的是明文HTTP而非HTTPS

根因分析

Akka Management启用TLS需要两个关键条件:

  1. 配置有效的HTTPS连接上下文
  2. 明确启用SSL开关

你的代码仅设置了HTTPS连接上下文,但未开启SSL启用开关,导致Akka Management仍默认使用明文HTTP协议处理请求。

修复方案

方案1:编程式同时启用SSL并设置上下文

修改启动Akka Management的代码,在设置HTTPS上下文的同时,调用withSslEnabled(true)开启SSL:

val management = AkkaManagement(actorSystem)
management.start(settings => 
  settings.withSslEnabled(true)
          .withHttpsConnectionContext(httpsServer)
)

方案2:通过配置文件启用SSL

在你的配置文件(如application.conf)中添加以下配置,开启Akka Management的SSL开关:

akka.management.http.ssl.enabled = true

保持现有编程式设置HTTPS上下文的代码不变即可。

额外验证建议

  • 确认Keystore文件路径正确,且服务进程有权限读取该文件
  • 使用openssl s_client -connect localhost:8558重新测试,此时应能成功完成SSL握手
  • 用HTTPS客户端(如curl -k https://localhost:8558/cluster/members,-k用于自签名证书场景)验证API响应

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:01:30