2009-12-23 22 views
21

nasıl sadece localhost'tan bağlantılara izin vermek için jetty güvenli olabilir loopback (localhost) erişime izin verecek şekilde Jetty güvenli? Bu başarısız zorundadır Sistem B Müşteri B'den Sistem A üzerinde sunucu A'ya bağlantı demektir. Güvenlik duvarımı yapılandırarak bunu yapabileceğimi biliyorum (bu yüzden lütfen bununla ilgili cevap yok). Ben sadece Jetty'nin sadece localhost'u dinlemesini istiyorum (loopback).nasıl sadece

cevap

11

(yani IP 127.0.0.1 kadar) bu denemedim ama her zamanki yöntem localhost'a için sunucuyu bağlamaktır. Yani İskele sunucusu kendi hedef adresi olarak localhost'u tek bağlantıları dinlemek anlamına gelir.

örneğin SelectChannelConnector bu içeriği eklemek:

hızlı googling bu http://old.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address---to11667378.html#a11669524 ortaya

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

+0

Biraz daha arandıktan sonra, ben de böyle bir şey buldum. Şimdi stackoverflow üzerinde iyi belgeler sağlamalıyız. Şu anda kendim bir şey yazıyorum. – Alfred

+4

Debian/Ubuntu/etc'deki standart Jetty paketini kullanıyorsanız, bunu yapmanın yolu/etc/default/jetty değerini düzenlemek ve JETTY_HOST değerini 127.0.0.1 olarak ayarlamaktır. – Haakon

20

Ben googling biraz daha sonra Sorumun kendime cevabını buldu .

cevap (dalgakıran-dağıtım-7.0.1.v20091125 üzerinde test) olduğu:

  1. jetty.xml (vb/jetty.xml) bulun
  2. Arama
  3. <Call name="addConnector"> için önce <Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set> Set çizgi bu kadar <Set name="port"><SystemProperty name="jetty.port"/></Set>
  4. . Jetty sunucusunu yeniden başlatın (java -jar start.jar). Sunucu gerektiği çıkış gibi bir şey:

2009-12-23 23: 02: 09.291: INFO :: başladı [email protected]: 8080

ithalat şey öyle mi 0.0.0.0 yerine 127.0.0.1, 0.0.0.0 demek, makinedeki tüm ips'leri dinlemeniz anlamına gelir.

P.S.: Ben aynı şekilde elde edilebilen ( kullanarak dalgakıran olan) apache solr sabitlemek istedi. tarafından

programatik olarak da (embed iskelesi) localhost'a bağlanabildiği:

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

sanal makinenin başından sırasında jetty.host özelliğini ayarlayabilirsiniz deneyin: jetty.port için

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

Btw aynı.

9

Katıştırılmış Jetty 9 için bu kod çalışır.

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