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

Heroku-22栈运行.NET 5提示无可用libssl版本如何解决

问题根因

Heroku-22栈默认预装OpenSSL 3.0版本,.NET 5已于2022年5月终止官方支持,最高仅兼容OpenSSL 1.1.x系列,无法识别加载高版本OpenSSL,因此触发no usable version of libssl was found报错。

解决方案

临时兼容方案(暂无法升级.NET版本时使用)

通过APT构建包手动安装兼容版本的libssl1.1即可修复:

  • 给应用添加Heroku APT构建包,在本地项目根目录执行命令:
    heroku buildpacks:add --index 1 heroku-community/apt
  • 在项目根目录新建名为Aptfile的纯文本文件,写入以下依赖声明:
libssl1.1
  • 把Aptfile提交到代码仓库后重新触发部署,构建阶段会自动下载安装匹配Heroku-22环境的libssl1.1版本。
  • 如果部署后启动仍报相同错误,在Heroku应用配置变量中新增LD_LIBRARY_PATH,值设为/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH即可。

长期推荐方案

.NET 5已停止官方维护,后续Heroku栈迭代还可能出现其他兼容问题,建议将项目升级至*.NET 6 或更高的.NET LTS(长期支持)版本*,上述高版本已原生适配OpenSSL 3.0,无需额外手动安装依赖,运行稳定性和安全性都有保障。

注意:不建议使用非官方补丁修改.NET 5运行时来兼容OpenSSL 3.0,这类修改未经过官方验证,容易引发数据加密异常、内存泄漏等未知问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:24:21