Wie kann ich jetty sichern nur Verbindungen von localhost zulassen? Dies bedeutet eine Verbindung zu Server A auf System A von Client B auf System B muss fehlschlagen. Ich weiß, dass ich das tun kann, indem ich meine Firewall konfiguriere (also bitte keine Antworten dazu). Ich möchte nur Jetty nur auf localhost (Loopback) hören.So sichern Sie Jetty, um nur den Zugriff von Loopback (localhost) zuzulassen
Antwort
Ich habe dies nicht versucht, aber die übliche Methode ist, den Server an localhost (d. H. An IP 127.0.0.1) zu binden. Das bedeutet, dass der Jetty-Server nur Verbindungen abhört, die als Zieladresse localhost haben.
Eine schnelle googeln ergab diese http://old.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address---to11667378.html#a11669524:
diesen Eintrag zum Beispiel SelectChannelConnector hinzufügen:
<Set name="Host">127.0.0.1</Set>
fand ich die Antwort auf meine Frage mich nach etwas mehr googling .
Die Antwort ist (getestet auf Anlegestelle Verteilungs 7.0.1.v20091125):
- jetty.xml Locate (etc/jetty.xml)
- Suche nach
<Call name="addConnector">
<Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set>
Set vor Linie<Set name="port"><SystemProperty name="jetty.port"/></Set>
- Das ist es. Starten Sie den Jetty-Server neu (
java -jar start.jar
). Der Server ausgeben sollte so etwas wie:
2009-12-23 23: 02: 09,291: INFO :: Gestartet [email protected]: 8080
Der Import ist, dass es sollte 127.0.0.1 anstelle von 0.0.0.0 heißen, bedeutet 0.0.0.0, dass alle IPs auf dem Rechner zu hören sind.
P. S: Ich wollte apache solr sichern (das mit Anlegesteg ist), die die gleiche Art und Weise in erreicht werden kann.
Sie können auch programmatisch (einbetten Anlegesteg) auf localhost binden durch:
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setHost("localhost");
connector.setPort(80);
server.addConnector(connector);
Ich konnte dies mit .htaccess tun, aber aus irgendeinem Grund die localhost-Filterung funktioniert nicht. Wenn Sie Datenverkehr von einem bestimmten externen IP zulassen möchten und blockieren alle anderen versuchen http://technologyenablingbusiness.blogspot.com/2011/03/setting-security-in-solr-running-on.html
Der Verweis, auf den verwiesen wird, existiert nicht mehr. Ich konnte keine alternative Quelle für diese Information finden, aber vielleicht kann die Antwort so bearbeitet werden, dass sie eine enthält, wenn jemand dazu in der Lage ist. – Loftx
Sie die jetty.host
Eigenschaft beim Start der virtuellen Maschine festlegen:
java -Djetty.host=127.0.0.1 -jar start.jar
Btw gleiche gilt für jetty.port
.
Für Jetty 9 eingebettet, funktioniert dieser Code.
Server server = new Server();
ServerConnector connector=new ServerConnector(server);
connector.setPort(80);
connector.setHost("localhost");
server.setConnectors(new Connector[]{connector});
Yup nach ein bisschen mehr Suche fand ich auch so etwas. Jetzt sollten wir eine gute Dokumentation zum Stackoverflow liefern. Ich schreibe gerade selbst etwas. – Alfred
Wenn Sie das Standard-Jetty-Paket in Debian/Ubuntu/etc verwenden, müssen Sie/etc/default/jetty bearbeiten und dort JETTY_HOST auf 127.0.0.1 setzen. – Haakon