我已经将一个Angular7应用程序打包成一个春季引导REST中的静态内容到一个.war存档中,并将其部署到JBoss EAP7.3上。应用程序部署成功,我能够看到登录页面。但是,当我尝试登录时,我在浏览器控制台中得到一个net::err_name_not_resolved
错误,当我检查网络选项卡时,我发现主机名被省略了,而angular试图调用REST进行身份验证,因此在控制台中报告了错误。在我的角度倾诉中,我定义了apiHost='/'
,并期望在运行时将其解析为机器的主机或IP,但这是行不通的。我还创建了一个jboss-web.xml,其中我将上下文根定义为/
。
我非常感谢在这方面提供任何帮助。
编辑
我需要这样做,因为我是在一个.war集群中部署JBoss文件,因此,应用程序应该可以从任何集群成员中访问。
发布于 2021-04-21 10:22:53
我最终通过使用apiHost='.'
解决了这个问题
现在,我可以使用参与JBoss集群的任何主机调用我的应用程序。
发布于 2021-04-20 06:29:42
在我的角度吐露,我已经定义了and =‘/’,并期望在运行时将此解析为机器的主机或IP。
在春季启动运行时,您刚刚在服务器中加载了一些静态文件(html,js)。然后向客户端提供这些静态文件(代表前端)。客户可以是任何人。
因此,如果服务器在IP 192.168.1.1上运行,客户端可以拥有相同或完全不同的ip。因此你必须提供这方面的信息。
用一种简单的方式来思考它。这些html和js文件仅由您的浏览器处理,浏览器不了解spring引导服务器。不知何故,在那些html、js文件中调用的调用必须指定服务器的位置。
因此,您的apiHost='/'
是错误的。可能是apiHost='localhost'
或apiHost='some Specific Ip'
https://stackoverflow.com/questions/67180135
复制相似问题