使用 Heroku 上的 Ninja 框架将 HTTP 重定向到 HTTPS
Posted
技术标签:
【中文标题】使用 Heroku 上的 Ninja 框架将 HTTP 重定向到 HTTPS【英文标题】:Redirect HTTP to HTTPS with Ninja framework on Heroku 【发布时间】:2017-11-05 00:28:42 【问题描述】:如何配置运行在 Heroku 上的 Ninja Web 应用强制使用 SSL,即将所有请求重定向到 HTTPS?
【问题讨论】:
【参考方案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 上。以上是关于使用 Heroku 上的 Ninja 框架将 HTTP 重定向到 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章
禁止在 heroku 中托管 laravel 应用程序时,您无权访问此 xampp 服务器上的 /
使用 CCMAKE 将 Clang 设置为自己的编译器后 ninja 出错
Ninja 框架端点在尝试将 JSON 映射到自定义对象时抛出 500 错误