gpt4 book ai didi

java - http 请求在已部署的 Spring Boot 应用程序中如何工作?

转载 作者:行者123 更新时间:2023-12-01 16:42:14 25 4
gpt4 key购买 nike

有人可以解释一下托管是如何工作的吗?在我的 Spring Boot 应用程序中,有嵌入式 tomcat 服务器。据我了解,spring应用程序与tomcat一起运行,tomcat需要一些端口,例如8080,并监听来自该端口的请求(至少在本地部署时)localhost:8080。我可以从我的前端应用程序发出请求,该应用程序在 localhost:3000 上运行,tomcat 将接受请求,找到映射到前端请求定向到“/user”或“/myposts”或该 Controller 运行的 URL 的 Controller 代码,与 db 对话将数据插入到响应中,然后 tomcat 将其发送回前端。

如果我将应用程序部署到某些托管服务(例如 Google 云),Spring 应用程序是否仍与 tomcat 一起运行?在这种情况下,tomcat 将在哪个端口上运行,我的前端会将请求发送到哪里?到谷歌云为我的项目设置的子域吗?我需要在哪里配置 SSL/https ?我的前端是否会通过 https 端点向 google 子域发送安全请求,并通过 http(不安全,内部托管服务器)将这些请求中继到部署的 spring 应用程序?或者如何?

最佳答案

最直接的方法之一是启动一个实例,通过 ssh 进入该实例,然后以与在计算机上运行它相同的方式运行 Spring Boot 应用程序。一切工作都与在该云实例上相同。您的 Spring Boot 应用程序仍然在 tomcat 中运行,并且仍然监听端口 8080。唯一的区别是现在主机名不再是 localhost,而是该实例的 DNS 名称。您可以在控制台上找到 DNS 名称。

如果您想在 Spring Boot 应用程序中“ native ”启用 https,则需要获取 SSL 证书。或者,您可以在云实例前面设置负载均衡器或 API 网关来为您执行 SSL 终止。在这种情况下,您的前端将向负载均衡器或 API 网关发送请求,而不是向您的 Spring Boot 应用程序发送请求。它们接受 https 请求并将其转换为 http 请求并将其发送到您的 Spring Boot 应用程序。

关于java - http 请求在已部署的 Spring Boot 应用程序中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61840229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com