在openshift上,Wildfly 9失败了

时间:2015-12-15 07:18:59

标签: java websocket openshift wildfly wss

我一直在关注websocket教程,一切顺利:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html

我使用Wildfly将此应用程序部署到openshift,一切都很好。 ws正在使用端口8000。

现在我正在尝试使用wss来保护websocket。这是我做的:

web.xml 中,我添加了:

<security-constraint>
    <display-name>Secure WebSocket Endpoint</display-name>
    <web-resource-collection>
        <web-resource-name>Secure WebSocket Endpoint</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

然后在我的客户中,我更换了#34; ws&#34;与&#34; wss&#34;并将端口从8000更改为8443所以它看起来像:

wss://fakeappname.rhcloud.com:8443/actions

将更新后的应用部署到 OpenShift 后,我注意到网页被重定向到https,这很好。但是wss根本不起作用,没有错误消息。

我在互联网上搜索了2天,尝试了很多不同的方法,但都没有。

我还尝试在https-listener中添加.openshift/config/standalone.xml

<https-listener name="default-https" socket-binding="https" security-realm="ApplicationRealm"/>

其中&#34; ApplicationRealm&#34;定义为:

<security-realm name="ApplicationRealm">
                <authentication>
                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization>
                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>

但它也没有用。我不知道为什么它在http中起作用,但在执行安全性时它并没有。

请帮忙!任何提示将不胜感激!

1 个答案:

答案 0 :(得分:2)

经过数天的研究,结果证明url-pattern应为/jsf-pages/*,然后wss正常工作。