如何配置tomcat绑定到单个IP地址(本地主机)而不是所有地址?


77

如何配置tomcat绑定到单个IP地址(本地主机)而不是所有地址?

Answers:


136

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

  1. 编辑tomcat/conf/server.xml
  2. 指定该连接器的绑定地址:
    <连接器 
        port =“ 8080” 
        protocol =“ HTTP / 1.1” 
        地址=“ 127.0.0.1”
        connectionTimeout =“ 20000” 
        redirectPort =“ 8443” 
      />
    

2
除了将bind(2)绑定到单个地址外,您还可以使用多个Connector元素将其绑定到更多地址。access.redhat.com/solutions/873953
低功率

12

在这里有很好的记录:

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

如何绑定到特定的IP地址?- “每个连接器元素都允许一个地址属性。请参阅HTTP连接器文档或AJP连接器文档”。和HTTP连接器文档:

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

标准实施->地址

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


1

值得一提的是,以非root用户身份运行tomcat(您应该这样做)将阻止您在* nix上使用低于1024的端口。如果您想将TC用作独立服务器(由于其性能不再要求Apache或类似设备在其前面),则需要将端口80与您指定的IP地址绑定在一起。

您可以通过使用IPTABLES将端口80重定向到8080来实现。


2
您的答案应该是评论。它没有提供更改I.P.Tomcat绑定的解决方案。
Eddie B

在Linux上运行TC的任何人都会遇到上面的端口问题。
Hal50000

我在几个发行版上运行了tomcat ...从未见证过您的主张...被接受的答案是正确的。
Eddie B

是的,因为您错误地将其放在apache或nginx后面。
Hal50000

然后,您使用1024以上的端口(而不是实际站点)运行TC。享受您的镀锡互联网警长徽章
Hal50000 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.