2010-12-16 13 views
0

Ich habe eine Instanz von JBoss 5.1.0GA mit dem Host 'localhost' und einem zusätzlichen Host 'X' konfiguriert. Gibt es eine Möglichkeit, localhost vollständig zu deaktivieren, so dass alle Anfragen fehlschlagen, wenn sie nicht für Host X sind?Host 'localhost' in JBoss 5 (oder Tomcat 5.5) deaktivieren

Ich mag würde, um sicherzustellen, dass jede Anwendung, die eingesetzt wird nicht ausgesetzt, wenn sie spezifisch an den Host X.

eingesetzt wird

Ich habe versucht zu entfernen ‚localhost‘ aus dem Motorabschnitt jbossweb.sar/server.xml aber scheint keine Wirkung zu haben. Ich kann immer noch eine Verbindung zu Anwendungen (z. B. ROOT.war) herstellen, indem ich eine Anfrage an http://localhost:8080 (ohne Host Header-Set).

Antwort

0

Starten Sie JBoss mit dem Flag -b, das explizit auf Host X gesetzt ist.

Das Standardverhalten ist auf localhost nur zu hören, so dass, wenn der Server derzeit sowohl hört auf localhost und X, dann must've es wurde ausdrücklich dazu konfiguriert, höchstwahrscheinlich durch -b 0.0.0.0 verwenden. Ändern Sie die 0.0.0.0 zu dem bestimmten Host, den Sie hören möchten.

+0

Danke für den Vorschlag skaffman, leider funktioniert das nicht für mich hier. Host X ist eigentlich kein echter Hostname, es ist einfach der Name eines virtuellen Hosts, der kontaktiert werden kann, indem der Header "Host" auf "X" gesetzt wird. Ich kann nicht mit X-B binden, da es nicht existiert. – joelittlejohn

+0

@japher: Mein Punkt steht immer noch. Wenn Sie nicht möchten, dass JBoss an jede IP-Adresse auf dem Host bindet, müssen Sie '-b' verwenden, um zu bestimmen, an welchen zu binden ist. – skaffman

+1

Hier fügen Sie -b x.x.x.x ???? – Alex

0

Versuchen Sie, localhost auf etwas anderes als die Loopback-IP-Adresse zuzuordnen.

Ändern Sie dies zu etwas anderem in Ihrer C:\Windows\system32\drivers\etc\hosts Datei.

localhost 127.0.0.1

Sie können über die IP-Adresse von X anstelle von 127.0.0.1 geben wollen!