如何使用 docker 在 Heroku 上 运行 一个 https 服务器?

How can I run a https server on Heroku with docker?

我有一个 .net core 3.1 web api,我将其包装在 docker 图像中以便在 heroku 上发布。作为标准,我为我的服务器启用了 HTTPS 和从 HTTP 到 HTTPS 的重定向。它作为一个独立的组件运行良好,在 docker.

中也是如此

当 Heroku 出现时,问题就出现了。我可以访问我的应用程序,但看起来 HTTP 端口是 heroku 路由器选择的端口,我自然会得到重定向(状态 307): 2021-01-28T23:39:23.806237+00:00 heroku[router]: at=info method=GET path="/matches" host=stg-inform-web-api.herokuapp.com request_id=xxx fwd="xxx" dyno=web.1 connect=0ms service=6ms status=307 bytes=192 protocol=https

我该如何处理?对于我的服务器的这个基础设施设置,我真的不需要内部 https 吗?

Heroku 负责部署您的应用程序,提供主机名 (myapp.herokuapp.com) 和 SSL(通过 HTTPS 访问)。
您需要确保您的 Web 应用程序可以绑定到 Heroku 在运行时分配的端口,这在 $PORT 环境变量中提供。

Web 层由 Heroku 提供,因此您的应用只需要接受 HTTP 请求。