【问题标题】:Redirect HTTP to HTTPS with Ninja framework on Heroku使用 Heroku 上的 Ninja 框架将 HTTP 重定向到 HTTPS
【发布时间】:2017-11-05 00:28:42
【问题描述】:

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

【问题讨论】:

    标签: java ssl heroku https ninjaframework


    【解决方案1】:

    这是要添加到 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);
        }
      }
    }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 这并没有告诉我如何将 http 请求重定向到 https。
      • 好的,我想我明白了,您是否希望当用户连接到端口 80 时,您希望将他重定向到 443?
      • 是的,你已经猜到了。
      • OK 我想你应该在你的网络服务器上设置它,这是最方便和安全的解决方案,你的网络服务器的名称是什么? (es: apache, tomcat, ecc..)
      • 忍者应用托管在 Heroku 上。
      猜你喜欢
      • 2013-02-13
      • 2014-10-15
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 2021-08-31
      • 2013-03-06
      • 2017-10-01
      • 2013-02-16
      相关资源
      最近更新 更多