nginx 反向代理后面的 Tomcat 服务器 - 如何阻止对服务器的直接访问?

nginx 反向代理后面的 Tomcat 服务器 - 如何阻止对服务器的直接访问?

这可能是一个新手问题,但我仍在学习有关 Web 服务器和反向代理设置的知识。我有两台服务器在同一个网络上运行 - 一台是 Tomcat,另一台是 Nginx,我打算为类似的 Tomcat 服务器使用反向代理服务器。在我了解到它们可用于隐藏真实 Web 服务器的身份并可用于获得其他优势(如更好的性能和负载平衡)后,我萌生了引入反向代理服务器的想法。

我面临的问题是,tomcat 服务器可以通过两个 IP 地址访问 - 如果我使用 Nginx IP,它会重定向到 Tomcat FQDN(预期),但如果我使用 FQDN tomcat.domain.com 进行 ping,它会显示 Tomcat 服务器的真实 IP,而不是 Nginx 服务器的真实 IP。实际上,我的 Nginx 服务器没有任何用处。我在这里遗漏了什么?

答案1

不要将 Tomcat 服务器直接暴露在互联网上。将 Web 服务器置于非军事区(即防火墙后面),然后将 Tomcat 服务器放在另一个防火墙后面。您可以使用操作系统提供的软件防火墙,也可以使用硬件防火墙,但您没有说明您使用的是什么操作系统,所以我无法提供更多建议。例如IP表或 Windows 防火墙。如果您在 AWS 中运行,则可以使用其 VPC 系统。

你不想从 nginx 重定向到 Tomcat,你想使用 Nginx 作为反向代理。使用 proxy_pass 指令,请求进入 Web 服务器,Web 服务器从 Tomcat 请求页面,获取响应,然后将其发送回 Web 浏览器。

相关内容