3

我正在将 Finatra 应用程序部署到 Heroku。感谢 Twitter 人员和 Heroku,这是一项非常容易的任务。问题是 Heorku 为您提供开箱即用的 https(如果我试图通过 https 访问我的服务,它就可以工作)。尽管如此,它也适用于 http 请求。有没有办法禁用http请求并只留下https?

谢谢

4

1 回答 1

1

您可以通过将defaultHttpPort值覆盖为空字符串来禁用 http 请求(并且不要为 -http.port 标志传递值)

import com.twitter.finagle.Http
import com.twitter.finatra.http.HttpServer
import com.twitter.finatra.http.routing.HttpRouter

object ExampleHttpsServerMain extends ExampleHttpsServer

class ExampleHttpsServer
  extends HttpServer
  with Tls {

  override val defaultHttpPort: String = "" // disable the default HTTP port
  override val defaultHttpsPort: String = ":443"

  override def configureHttp(router: HttpRouter): Unit = {
    router
      .add[ExampleController]
  }
}
于 2019-09-24T09:05:00.193 回答