gpt4 book ai didi

java - 在 Linux 上,人们是 chroot Java Web 应用程序还是使用 IPTables 并以非 root 身份运行?

转载 作者:IT王子 更新时间:2023-10-29 01:15:09 30 4
gpt4 key购买 nike

当您运行一个 Java Servlet 容器并希望在端口 80 上同时提供静态和动态内容时,您会遇到一个经典问题,即是否将服务器运行为:

  1. 如果可以的话,希望以 root 身份进入 chroot jail (还没有开始工作)
  2. 作为非 root 用户,然后使用 IPTables 将端口 80 转发到容器正在运行的其他端口 (>1024)
  3. 两者:作为非 root 用户、IPTables 和 chroot jail。

opt 的问题。 1 是 chrooting 的复杂性,仍然是运行 root 的安全问题。opt 的问题。 2 是每个 Linux 发行版都有不同的持久化 IPTables 的方式。选项 3 当然可能是个好主意,但很难设置。

最后,每个发行版在守护程序脚本方面都有令人讨厌的差异。

人们认为最好的发行版无关解决方案是什么?是否有资源展示如何做到这一点?

编辑:我宁愿不在 servlet 容器前运行 Apache,因为该站点主要是动态的并且总内存占用量很重要(托管成本)。

最佳答案

以非 root 身份运行并在端口 80 上使用标准网络服务器 (apache) 或轻量级网络服务器(例如 lighttpdnginx)重定向到您的实例。

这样做的好处是标准网络服务器可以提供静态内容,从而减少网络应用程序的负载。您甚至可以让它反向代理并缓存 Web 应用程序流量。

关于java - 在 Linux 上,人们是 chroot Java Web 应用程序还是使用 IPTables 并以非 root 身份运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3063351/

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