如何配置Tomcat绑定到单个IP地址(localhost)而不是所有地址?

83
您如何配置Tomcat绑定到单个IP地址(本地主机)而不是所有地址?
3个回答

146

配置了若干个连接器,每个连接器都有一个可选的“地址”属性,您可以在其中设置IP地址。

  1. 编辑 tomcat/conf/server.xml 文件。
  2. 为该连接器指定绑定地址:
    <Connector 
        port="8080" 
        protocol="HTTP/1.1" 
        address="127.0.0.1"
        connectionTimeout="20000" 
        redirectPort="8443" 
      />
    

2
除了将**bind(2)**绑定到单个地址外,您还可以通过使用多个“Connector”元素绑定到更多地址。https://access.redhat.com/solutions/873953 - Low power
我遇到了相同的问题,你能帮忙看一下我的问题吗? - Moeez

13

这里有详细的文档:

https://cwiki.apache.org/confluence/display/TOMCAT/Connectors#Connectors-Q6

如何绑定到指定的IP地址? - "每个Connector元素都允许一个address属性。请参阅HTTP Connector文档或AJP Connector文档",以及HTTP Connectors文档:

http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

标准实现 -> address

"对于拥有多个IP地址的服务器,此属性指定将用于在指定端口上侦听的地址。默认情况下,此端口将在与服务器关联的所有IP地址上使用。"


我遇到了相同的问题,您能否检查一下我的问题 - Moeez

3
值得一提的是,以非root用户身份运行tomcat(这是您应该做的)将防止您在*nix上使用低于1024的端口。如果您想将TC用作独立服务器--因为其性能不再需要由Apache或类似软件前置--您将希望绑定到端口80以及您指定的任何IP地址。
您可以通过使用IPTABLES将端口80重定向到8080来实现这一点。

2
你的回答应该是一个注释。它并不能解决Tomcat绑定到哪个I.P.的问题。 - Edward J Beckett
在Linux上运行TC的人都会遇到上述的端口问题。 - Hal50000
我在几个发行版上运行Tomcat...从未见过你的说法...被接受的答案是正确的。 - Edward J Beckett
是的,因为你错误地将它放在了apache或nginx后面。 - Hal50000
让我们在聊天中继续这个讨论 - Hal50000
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接