【问题标题】:Openshift DIY Dropwizard with HTTPS使用 HTTPS 的 Openshift DIY Dropwizard
【发布时间】:2014-12-14 07:47:06
【问题描述】:

我的 Dropwizard 应用程序在 Openshift DIY 墨盒中运行。

应用程序使用Https 并绑定到端口8080。我可以通过rhc ssh appnamessh 连接中使用curl 访问应用程序。

我需要做些什么配置才能通过appname-username.rhcloud.com 域访问我的Dropwizard 应用程序?

我总是收到代理错误 502。从远程服务器读取时出错。

非常感谢任何建议。

我的

【问题讨论】:

    标签: openshift openshift-client-tools


    【解决方案1】:

    在 OpenShift 中,您的应用程序部署在代理服务器后面,该代理服务器只能使用 http 与您的应用程序通信。

    OpenShift 代理服务器允许您同时使用 http 和 https 连接,并传达使用了哪种类型的连接代理服务器在您的应用程序的请求中添加 x-forwarded 标头。

    配置 Dropwizard,您需要在端口 8080 上配置 http 连接器,默认值,并将 useForwardedHeaders 设置为 true,也是默认值。请参阅http://dropwizard.io/manual/configuration.html#http 了解更多信息。

    此时,Dropwizard 知道是否使用了 http 或 https 连接。我没有找到的是如何使内容“机密”,以便当客户端尝试使用 http 连接到您的应用程序时,Dropwizard 内的码头容器将客户端重定向到 OpenShift 代理服务器提供的 https 连接器。

    【讨论】:

    • 我得到了它的工作,现在我正在尝试使用以下描述将 Http 访问重定向到 Https:help.openshift.com/hc/en-us/articles/… 如果我有更多信息,我会编辑此评论。
    • 一般的解决方案是编写一个 servlet 过滤器来检查请求是否安全(ServletRequest#isSecure()),如果不安全则重定向到 HTTPS 上的相同 URI。
    猜你喜欢
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    相关资源
    最近更新 更多