Wie konfiguriere ich Tomcat so, dass es an eine einzelne IP-Adresse (localhost) anstatt an alle Adressen gebunden wird?

78

Wie konfiguriere ich Tomcat so, dass es an eine einzelne IP-Adresse (localhost) anstatt an alle Adressen gebunden wird?

ScArcher2
quelle

Antworten:

137

Es sind mehrere Konnektoren konfiguriert, und jeder Konnektor verfügt über ein optionales Attribut "Adresse", mit dem Sie die IP-Adresse festlegen können.

  1. Bearbeiten tomcat/conf/server.xml.
  2. Geben Sie eine Bindungsadresse für diesen Connector an:
    <Anschluss 
        port = "8080" 
        protocol = "HTTP / 1.1" 
        address = "127.0.0.1"
        connectionTimeout = "20000" 
        redirectPort = "8443" 
      />
    
ScArcher2
quelle
2
Zusätzlich zum Binden (2) an eine einzelne Adresse können Sie mithilfe mehrerer ConnectorElemente auch an mehrere Adressen binden . access.redhat.com/solutions/873953
Low Power
12

es ist hier gut dokumentiert:

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

Wie binde ich mich an eine bestimmte IP-Adresse? - „Jedes Steckerelement ermöglicht eine Adresse Eigenschaft , um den HTTP Connector docs oder die AJP Connector - Dokumente anzeigen.“ . Und HTTP Connectors-Dokumente:

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

Standardimplementierung -> Adresse

"Bei Servern mit mehr als einer IP-Adresse gibt dieses Attribut an, welche Adresse zum Abhören des angegebenen Ports verwendet wird. Standardmäßig wird dieser Port für alle dem Server zugeordneten IP-Adressen verwendet."

rnglbd
quelle
1

Es kann erwähnenswert sein, dass das Ausführen von Tomcat als Nicht-Root-Benutzer (was Sie tun sollten) Sie daran hindert, einen Port unter 1024 unter * nix zu verwenden. Wenn Sie TC als eigenständigen Server verwenden möchten, da für die Leistung nicht mehr Apache oder ähnliches erforderlich ist, sollten Sie sich zusammen mit der von Ihnen angegebenen IP-Adresse an Port 80 binden.

Sie können dies tun, indem Sie IPTABLES verwenden, um Port 80 auf 8080 umzuleiten.

Hal50000
quelle
2
Ihre Antwort sollte ein Kommentar sein. Es bietet keine Lösung zum Ändern der I.P.Tomcat-Bindungen an.
Eddie B
Jeder, der TC unter Linux ausführt, wird auf das oben genannte Portproblem stoßen.
Hal50000
Ich betreibe Tomcat in mehreren Distributionen ... habe Ihre Behauptung nie gesehen ... die akzeptierte Antwort ist richtig.
Eddie B
Ja, weil Sie es falsch hinter Apache oder Nginx gestellt haben.
Hal50000
Dann führen Sie Ihren TC mit einem Port über 1024 aus - keine echte Site. Genießen Sie Ihr verzinntes Internet-Sheriff-Abzeichen
Hal50000