我的Dropwizard应用程序在Openshift DIY Cartridge中运行。
应用程序使用Https
并绑定到端口8080
。我可以通过curl
从ssh
连接中使用rhc ssh appname
访问该应用。
如何配置我可以通过appname-username.rhcloud.com
域访问我的Dropwizard应用程序?
我总是收到代理错误502.从远程服务器读取错误。
非常感谢任何建议。
TMY
答案 0 :(得分: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内的jetty容器将客户端重定向到OpenShift代理服务器所服务的https连接器。