2009-12-23 21 views

Odpowiedz

11

Nie próbowałem tego, ale zwykłą metodą jest powiązanie serwera z localhost (tj. Do IP 127.0.0.1). Oznacza to, że serwer Jetty będzie nasłuchiwał tylko połączeń, które mają localhost jako adres docelowy.

Szybkie googling ujawnił to http://old.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address---to11667378.html#a11669524:

dodać wpis do SelectChannelConnector na przykład:

<Set name="Host">127.0.0.1</Set>

+0

Po dalszych poszukiwaniach znalazłem coś takiego. Teraz powinniśmy zapewnić dobrą dokumentację na stackoverflow. Piszę teraz coś sam. – Alfred

+4

Jeśli używasz standardowego pakietu Jetty w Debianie/Ubuntu/etc, sposobem na to jest edycja/etc/default/jetty i ustawienie JETTY_HOST na 127.0.0.1 tam. – Haakon

20

znalazłem odpowiedzi na moje pytanie siebie po nieco bardziej googling .

Odpowiedź jest (Testowane na molo-dystrybucji-7.0.1.v20091125):

  1. Zlokalizuj jetty.xml (etc/jetty.xml)
  2. Szukaj <Call name="addConnector">
  3. Ustaw <Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set> przed linia <Set name="port"><SystemProperty name="jetty.port"/></Set>
  4. To wszystko. Uruchom ponownie serwer pomostowy (java -jar start.jar). Serwer powinien wypisać coś takiego:

2009-12-23 23: 02: 09.291: INFO :: Rozpoczął [email protected]: 8080

Import rzeczą jest to, że to powinien powiedzieć 127.0.0.1 zamiast 0.0.0.0, 0.0.0.0 oznacza nasłuch na wszystkich komputerach na komputerze.

P.S: Chciałem, aby zabezpieczyć apache solr (co jest użyciu pomost), które mogą być osiągnięte w ten sam sposób.

Można również wiązać się z localhost programowo (do osadzenia na molo) przez:

Server server = new Server(); 
Connector connector = new SelectChannelConnector(); 
connector.setHost("localhost"); 
connector.setPort(80); 
server.addConnector(connector); 
1

udało mi się zrobić to za pomocą .htaccess, ale z jakiegoś powodu filtrowania localhost nie działa. Jeśli chcesz, aby umożliwić ruch z określonego zewnętrznego adresu IP i zablokować wszystkie inne próby http://technologyenablingbusiness.blogspot.com/2011/03/setting-security-in-solr-running-on.html

+0

Odnośnik linku już nie istnieje - nie mogłem znaleźć alternatywnego źródła dla tych informacji, ale może odpowiedź może zostać zmieniona tak, aby zawierała jedną, jeśli ktokolwiek jest w stanie. – Loftx

8

Można ustawić właściwość jetty.host podczas uruchamiania maszyny wirtualnej:

java -Djetty.host=127.0.0.1 -jar start.jar 

Btw sam dla jetty.port.

9

Dla osadzonego modelu Jetty 9 ten kod działa.

Server server = new Server();          
    ServerConnector connector=new ServerConnector(server); 
    connector.setPort(80); 
    connector.setHost("localhost");   
    server.setConnectors(new Connector[]{connector}); 
Powiązane problemy