java - 使用 nginx 服务器作为 glassfish 服务器的代理来加载静态内容

标签 java rest jakarta-ee nginx glassfish

一直致力于java-ee Restful应用程序,前端基于react.js。所以我正在寻找一种加载静态内容和一些由 nginx 服务器处理的文件上传的好方法。听说 nginx 对于静态文件内容加载很有用,尽管我对 nginx 服务器环境很陌生,所以是否有用例或者在 glassfish 服务器上使用 nginx 服务器的最佳实践是什么。

最佳答案

您正朝着正确的方向前进 - 您可以使用网络服务器,例如nginx 用于提供静态内容,例如文件或 Web 内容的静态部分。无论如何,出于多种原因,您应该在高效的环境中使用它。

首先,如果您有合理的流量,这会将部分负载转移到另一台机器上(只要您手头有几台机器)。这不仅适用于大型静态内容,例如服务文件,但也适用于许多小零件。例如,考虑在 CSS 类中使用一个图像指向已部署应用程序中的资源来设置按钮样式,然后您的 GlassFish 必须将其与其他动态 Web 内容一起提供服务。另一方面,如果它来自 URL,它可以由您的网络服务器处理,并且由于静态 URL,它也可以被缓存并直接从那里使用,而无需一遍又一遍地提供服务。

然后,除了性能之外,您的网络服务器还可以在请求到达您的应用程序服务器之前处理安全问题。因此,您可以根据 REST 服务的 URL 来决定哪个节点应处理它以及要遵循哪些安全准则,例如是否必须提供 SSL 证书。

但总而言之,这在很大程度上取决于您的应用程序和环境。如果您的目的可以让 GlassFish 处理所有事情,那么可能根本没有必要构建所有这些。

关于java - 使用 nginx 服务器作为 glassfish 服务器的代理来加载静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656604/

相关文章:

http - 设计合适的 REST URI

java - 使 WAR 像 JAR 一样可执行,以在应用程序之外提供命令行界面 (JBoss)

java - 同一方法中两个不同过程调用的相同可调用语句变量

java - Java 对象结构方面的帮助

java - 用C写Java这段?

java - 如何更改日历偏移量?

web-services - Java EE 中的 Web 服务身份验证

java - 重新哈希时清除 Java 哈希表?

删除记录后 Angular 刷新表,使用 Material 表和rest api

ruby - 通过 ruby​​ 脚本设计身份验证