【问题标题】:Angular 7 Unable to resolve spring boot rest API hostnameAngular 7无法解析spring boot rest API主机名
【发布时间】:2021-07-14 17:18:16
【问题描述】:

我已将 Angular7 应用程序作为 Spring Boot REST API 中的静态内容捆绑到 .war 存档中,并将其部署在 JBoss EAP 7.3 上。应用程序部署成功,我可以看到登录页面。但是,当我尝试登录时,我在浏览器控制台中收到 net::err_name_not_resolved 错误,当我检查网络选项卡时,我看到主机名被省略,而 Angular 试图调用 REST API 进行身份验证,因此报告了错误在控制台中。在我的角度配置中,我定义了 apiHost='/' 并希望这将在运行时解析为机器的主机或 IP,但这不起作用。我还创建了一个 jboss-web.xml,其中我将上下文根定义为 /

我将非常感谢这方面的任何帮助。

编辑

我需要它来工作,因为我在 JBoss 集群中部署 .war 文件,因此,应该可以从任何集群成员访问应用程序。

【问题讨论】:

    标签: angular jboss jboss7.x


    【解决方案1】:

    在我的角度配置中,我定义了 apiHost='/' 并期望这 将在运行时解析为机器的主机或 IP

    你刚刚在你的服务器中加载了一些静态文件(html、js)来运行spring boot。然后将这些静态文件(代表前端)提供给客户端。客户可以是任何人。

    因此,如果服务器在 ip 192.168.1.1 上运行,则客户端可以拥有相同或完全不同的 IP。因此,您必须提供该信息。

    以一种简单的方式考虑它。这些 html 和 js 文件仅由您的浏览器处理,该浏览器对 Spring Boot 服务器一无所知。不知何故,在那些 html、js 文件中调用的调用必须指定服务器的位置。

    因此您的apiHost='/' 是错误的。可能是apiHost='localhost'apiHost='some Specific Ip'

    【讨论】:

    • 是的,你是对的,挑战在于我正在将应用程序部署到 JBoss 集群,并且需要通过 angular 来解决正在启动应用程序的任何主机(集群成员)。
    【解决方案2】:

    我终于通过apiHost='.'解决了这个问题

    我现在可以使用参与 JBoss 集群的任何主机调用我的应用程序。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2017-03-26
      • 2019-07-26
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多