使用 Heroku 上的 Ninja 框架将 HTTP 重定向到 HTTPS

Redirect HTTP to HTTPS with Ninja framework on Heroku

如何在 Heroku 上配置 Ninja 网络应用程序 运行 以强制使用 SSL,即将所有请求重定向到 HTTPS?

如果您在 ninja 框架文档中看起来不错,它会指示如何配置它以获得您想要的东西

http://www.ninjaframework.org/documentation/configuration_and_modes.html

这里是class要在conf包中添加的:

public class Filters implements ApplicationFilters {
  @Override
  public void addFilters (List<Class<? extends Filter>> list) {
    list.add (HttpsFilter.class);
  }
  public static class HttpsFilter implements Filter {
    @Override
    public Result filter (FilterChain filterChain, Context context) {
      if ("http".equals (context.getHeader ("X-Forwarded-Proto"))) {
        return Results.redirect ("https://" + context.getHostname ()
          + context.getRequestPath ());
      }
      return filterChain.next (context);
    }
  }
}