当我想从其他服务器访问远程wildfly服务器上的EJB时,出现以下错误.
Error: Authentication failed: all available authentication mechanisms failed:
JBOSS-LOCAL-USER: javax.security.sasl.SaslException: Failed to read server challenge [Caused by java.io.FileNotFoundException: /../wildfly/standalone-/tmp/auth/X.challenge (No such file or directory)]
DIGEST-MD5: Server rejected authentication
如果我在服务器内访问EJB,则不会收到任何身份验证错误.我使用以下方法访问服务器;
http-remoting://server1:8080
基本上,如果我在server1中调用它,就没有问题.如果我从server2调用此命令,则会收到错误消息.我假设它在server1中存在的server2中查找身份验证文件.
我不确定是否必须在EJB或wildfly上进行一些配置才能启用来自其他服务器的访问.我确实完成了在线上提供的所有步骤,但显然我缺少了一些东西.
解决方法:
我通过以下更改修复了错误.
看起来我也在使用ApplicationRealm进行远程身份验证.我用jaas领域更新了以下内容.
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
另外,我在客户端将SASL_POLICY_NOANONYMOUS和SASL_POLICY_NOPLAINTEXT设置为false.