我正在使用 Openshift DIY 墨盒。我希望能够在我的应用程序上使用 https。事实上,我的安全配置需要安全连接。我无法让它按照本页中的说明工作。有没有办法让 https 在 DIY 墨盒上工作?
谢谢
注意:我的应用程序是一个 Spring Boot 应用程序,我使用的是嵌入式 tomcat 容器。如果您想知道任何细节,请告诉我,我可以在这里发布。
我正在使用 Openshift DIY 墨盒。我希望能够在我的应用程序上使用 https。事实上,我的安全配置需要安全连接。我无法让它按照本页中的说明工作。有没有办法让 https 在 DIY 墨盒上工作?
谢谢
注意:我的应用程序是一个 Spring Boot 应用程序,我使用的是嵌入式 tomcat 容器。如果您想知道任何细节,请告诉我,我可以在这里发布。
请参阅此图,显示如何将请求路由到您的应用程序。基本上,OpenShift Online 在您的应用程序前面使用反向代理,并且 SSL 连接在那里终止,永远不会到达您的实际应用程序。您可以像不需要 SSL 一样编写应用程序,然后检查请求标头中的连接类型以查看它是否确实是 SSL 连接。
您必须强制客户端通过安全连接 https。如此处所述,您可以;
绑定到端口 443,因此到达此端口的请求将被转发到您的应用程序。
使用x-forwarded-proto
标头确定您的客户端是通过 http 还是 https 连接。
根据您的墨盒和解决方案,有多种方法可以做到这一点。在我的情况下,我使用的是 DIY 墨盒和 Spring Boot,我所要做的就是添加;
tomcat.protocol_header: x-forwarded-proto
在我的 application.yaml 文件中。同时我修改了嵌入式 Tomcat 以连接到端口 443。除此之外,我的应用程序运行$OPENSHIFT_DIY_IP
在$OPENSHIFT_DIY_PORT
.
有帮助的其他(Spring Boot)链接;