【问题标题】:Making Tomcat accessible on port 80使 Tomcat 在 80 端口上可访问
【发布时间】:2017-11-06 23:55:11
【问题描述】:

我正在 Debian 9 上为将运行 Spring Web 应用程序的生产环境配置 Tomcat。

我正在阅读有关使 Tomcat 可从端口 80 访问的内容,据我了解,出于安全原因,不建议以 root 身份运行它以将端口更改为 80。

也可以使用 iptables 使 Tomcat 可以从端口 80 访问,但从我读到的使用该方法的内容仅适用于 IPv4 而不是 IPv6。

我知道的另一种方法是使用 Apache HTTPd 的 mod_proxy 将流量从 Apache 引导到 Tomcat。这会是最好的解决方案吗? IPv6 可以使用这种方法吗?

使 Tomcat 在端口 80 上可用的行业标准是什么?

【问题讨论】:

    标签: tomcat debian


    【解决方案1】:

    一个问题有很多问题,所以让我们直接回答您的问题,然后再回答其余问题。

    在tomcat的配置文件中,有一个名为server.xml的配置文件。在那里您可以指定tomcat 将侦听的默认端口。它在连接器节点上,默认为 8080。找到它并将其更改为 80。保存文件,重新加载 tomcat,您的服务现在正在侦听端口 80。

    对于其他问题,您希望传统上代理访问您的 tomcat 服务器。您可以使用任何网络服务器来捕获 frpm 端口 80 的流量并将应用程序服务器的请求转发到 tomcat。根据网络服务器,他们有不同的方式来充当代理。如果您要卸载 web 服务器上的静态内容,然后将动态内容或需要 servlet 容器的内容卸载到 tomcat 服务器,则通常使用 http 服务器作为 a.proxy。如果您打算发送所有 ovwr 内容,请移除中间人,让 Tomcat 服务器通过更改其侦听的默认端口来响应所有 5he Web 流量。

    【讨论】:

    • 但是 Tomcat 不需要以 root 身份运行才能在端口 80 上运行吗?因为它是 Linux 中的特权端口?
    • 直接在80端口运行Tomcat没有安全问题吗?
    • 不是直接的。无论tomcat在8080上监听的任何安全问题在80上都是一样的。所以如果你有部署名称,所有安装的应用程序都会暴露出来。使用代理允许您将请求发送到特定应用程序,因此它是有限的,但您只是发送所有请求,然后拥有代理只是一个额外的跃点。通常,您将代理用于静态并公开特定的应用程序。因此,您可以拥有一个管理器应用程序,该应用程序从可以到达 tomcat 服务器的某些内容中公开,并从前端公开您需要的内容。有关限制访问与安全性的更多信息。
    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2013-05-18
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多