2009-12-23 11 views

risposta

11

Non ho provato questo, ma il solito metodo è quello di associare il server a localhost (vale a dire IP 127.0.0.1). Ciò significa che il server Jetty ascolterà solo le connessioni che hanno lo localhost come indirizzo di destinazione.

Un googling rapido rivelato questo http://old.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address---to11667378.html#a11669524:

aggiunge questa voce al SelectChannelConnector ad esempio:

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

+0

Yup dopo un po 'più di ricerca ho anche trovato qualcosa di simile. Ora dovremmo fornire una buona documentazione su StackOverflow. Sto scrivendo qualcosa io stesso adesso. – Alfred

+4

Se si utilizza il pacchetto Jetty standard in Debian/Ubuntu/etc, il modo per farlo è modificare/etc/default/jetty e impostare JETTY_HOST su 127.0.0.1 lì. – Haakon

20

ho trovato la risposta alla mia domanda io dopo un po 'di più googling .

La risposta è (testato su pontile-distribuzione-7.0.1.v20091125):

  1. Individuare jetty.xml (etc/jetty.xml)
  2. Cerca <Call name="addConnector">
  3. Set <Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set> prima linea <Set name="port"><SystemProperty name="jetty.port"/></Set>
  4. Questo è tutto. Riavvia il server jetty (java -jar start.jar). Il server deve uscita qualcosa di simile:

2009-12-23 23: 02: 09,291: INFO :: Iniziato [email protected]: 8080

La cosa di importazione è che dovrei dire 127.0.0.1 invece di 0.0.0.0, 0.0.0.0 significa ascoltare su tutti i ips sulla macchina.

P.S: ho voluto garantire apache solr (che è utilizzando molo), che può essere raggiunto in allo stesso modo.

È inoltre possibile associare a localhost di programmazione (embed molo) da:

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

sono stato in grado di farlo usando .htaccess ma per qualche motivo il filtraggio localhost non funziona. Se si desidera consentire il traffico proveniente da un determinato IP esterno e bloccare tutti gli altri cercano http://technologyenablingbusiness.blogspot.com/2011/03/setting-security-in-solr-running-on.html

+0

Il link di riferimento non esiste più - Non sono riuscito a trovare una fonte alternativa per questa informazione, ma forse la risposta può essere modificata per includerne una se qualcuno è in grado di farlo. – Loftx

8

È possibile impostare la proprietà jetty.host durante l'avvio della macchina virtuale:

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

Btw stesso per jetty.port.

9

Per Jetty 9 incorporato, questo codice funziona.

Server server = new Server();          
    ServerConnector connector=new ServerConnector(server); 
    connector.setPort(80); 
    connector.setHost("localhost");   
    server.setConnectors(new Connector[]{connector}); 
Problemi correlati