我如何在Heroku上运行https服务器与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 env变量中提供的。

web层由Heroku提供,所以你的应用只需要接受HTTP请求。