我有几个部署到JBoss 7的Web应用程序(.war文件)。所有这些Web应用程序都是具有一个条目(身份验证)点的较大应用程序的一部分。这些webapps通过HTTP服务(跨域调用)互相使用功能。服务器端服务调用获取连接拒绝
说我系统上有5个用户。但是,无论出于何种原因,我重新启动了服务器(JBoss)。用户在重启之前或之后都不会退出系统。服务器重新启动后,跨域服务器端服务会导致“连接被拒绝”错误。
此时可以通过浏览器将URL粘贴到地址中来调用服务。这每次都不会有错误。
如果5个用户中的1个(只有一个)重新进行身份验证,则服务器端服务调用将再次开始为所有5个用户开始工作。所有5个都不需要重新认证。我们的应用程序是SSO,所以没有太多验证码。我们只是调用一些NTLM调用来进行身份验证。
我们不会将任何凭据传递给服务。任何经过身份验证的人都有权调用这些服务。
应该注意的是,系统的所有其他功能都无需用户重新进行身份验证(客户端AJAX;数据库查询/更新)。它只是通过HTTP调用服务器端的服务调用,不起作用。
根据其他帖子和文档,我发现“连接被拒绝”是因为1)服务没有运行或2)存在防火墙问题。
在我的情况下,这些都不是真的。如上所述,可以从浏览器调用服务。我可以通过在我的Windows计算机上运行本地JBoss来重新创建它。我只需重新启动它就会发生错误。没有涉及防火墙。
我认为这可能是一个CORS问题,但看起来CORS与源自浏览器的请求(例如Javascript/AJAX)有关,而这不是这种情况。所有服务请求都来自服务器。
我对网络或安全方面没有太多经验,所以我对这里发生的事情感到不知所措。身份验证似乎与或正在导致问题,但我不明白为什么或如何解决它。
任何建议将受到欢迎。
- 的JBoss 7
- 的Java 6
- Spring MVC的4.0.6
- Windows 7的
感谢。
感谢您的建议。然而,这个问题变成了我们的应用程序非常深奥的东西,我们通过纠正一些代码来解决这个问题。 –