“IO::Socket::SSL 1.94+ 需要 TLS 支持”在 Heroku 上运行 Mojolicious 应用程序时出错

1 perl ssl heroku mojolicious

我已按照此处Tempire 的 Mojolicious Deploy App Heroku 中的说明进行操作。一切正常,我已经验证 Makefile.PL 中的所有先决条件都在那里。从我的终端运行这个命令给我 IO::Socket::SSL 是最新的 (2.027)。Net::SSLeay 是最新的 (1.74)。

heroku run --app sheltered-island-80963 -- /app/vendor/perl/bin/perl /app/vendor/perl/bin/cpan IO::Socket::SSL Net::SSLeay
Run Code Online (Sandbox Code Playgroud)

但是,我有一个控制器在渲染之前执行一些 http 请求,当我尝试使用 UserAgent 时,它给了我需要 IO::Socket::SSL 1.94 的错误。该应用程序在本地运行良好,但在 heroku 上运行失败。

我试图通过设置 MOJO_NO_TLS=1 来禁用 TLS,但错误仍然存​​在。有人知道解决这个问题的方法吗?

Joe*_*ger 5

我怀疑你有两个 Perls。一个有模块,另一个运行应用程序。如果不能深入挖掘,我就无法确定。不过,我并不特别喜欢通过 heroku 命令安装模块,它们应该在 make 文件中。

也许在尝试失败的请求后,创建一个将 %INC 转储到浏览器(临时)的路由。