2009-12-23 13 views
21

से एक्सेस की अनुमति देने के लिए कैसे सुरक्षित करें, मैं केवल jetty को स्थानीयहोस्ट से कनेक्शन की अनुमति देने के लिए कैसे सुरक्षित कर सकता हूं? इसका मतलब सर्वर ए पर सिस्टम ए पर से सिस्टम बी पर क्लाइंट बी विफल होना है। मुझे पता है कि मैं अपनी फ़ायरवॉल को कॉन्फ़िगर करके ऐसा कर सकता हूं (इसलिए कृपया इसके बारे में कोई जवाब नहीं दें)। मैं सिर्फ जेटी को केवल स्थानीयहोस्ट (लूपबैक) पर सुनना चाहता हूं।जेट्टी को केवल लूपबैक (लोकलहोस्ट)

उत्तर

11

मैंने यह कोशिश नहीं की है, लेकिन सामान्य विधि स्थानीयहोस्ट (यानी आईपी 127.0.0.1) को सर्वर से बांधना है। इसका मतलब है कि जेटी सर्वर केवल उन कनेक्शनों को सुनेंगे जिनके पास लोकलहोस्ट उनके गंतव्य पते के रूप में होगा।

उदाहरण के लिए SelectChannelConnector को यह प्रविष्टि जोड़ने:

एक त्वरित Googling इस http://old.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address---to11667378.html#a11669524 पता चला

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

+0

कुछ और खोज के बाद यूप ने मुझे ऐसा कुछ भी पाया। अब हमें स्टैक ओवरफ्लो पर अच्छा दस्तावेज देना चाहिए। मैं अभी खुद कुछ लिख रहा हूँ। – Alfred

+4

यदि आप डेबियन/उबंटू/आदि में मानक जेटी पैकेज का उपयोग कर रहे हैं, तो ऐसा करने का तरीका/etc/default/jetty को संपादित करना है और JETTY_HOST को 127.0.0.1 पर सेट करना है। – Haakon

20

मैं थोड़ा और अधिक googling के बाद अपने आप को मेरे सवाल का जवाब मिल गया ।

जवाब (जेटी-वितरण-7.0.1.v20091125 पर परीक्षण किया गया) है:

  1. jetty.xml (आदि/jetty.xml) का पता लगाएँ
  2. के लिए खोज <Call name="addConnector">
  3. से पहले <Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set> सेट लाइन <Set name="port"><SystemProperty name="jetty.port"/></Set>
  4. यही है। जेटी सर्वर को पुनरारंभ करें (java -jar start.jar)। सर्वर चाहिए उत्पादन कुछ की तरह:

2009-12-23 23: 02: ०९.२९१: जानकारी :: प्रारंभ [email protected]: 8080

आयात बात है यह है कि 0.0.0.0 के बजाय 127.0.0.1 कहना चाहिए, 0.0.0.0 का अर्थ है मशीन पर सभी ips पर सुनें।

पी.एस: मैं apache solr सुरक्षित करने के लिए (जो घाट उपयोग कर रहा है), जो एक ही तरीके से प्राप्त किया जा सकता चाहता था।

तुम भी प्रोग्राम के रूप में (एम्बेड घाट) स्थानीय होस्ट करने के लिए बाध्य कर सकते हैं द्वारा:

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

मैं इस .htaccess का उपयोग कर ऐसा करने में सक्षम था, लेकिन किसी कारण से स्थानीय होस्ट छानने काम नहीं करता। आप एक विशेष बाहरी IP से यातायात की अनुमति देना चाहते और अवरुद्ध करते हैं सभी दूसरों की कोशिश http://technologyenablingbusiness.blogspot.com/2011/03/setting-security-in-solr-running-on.html

+0

संदर्भित लिंक अब मौजूद नहीं है - मैं इस जानकारी के लिए एक वैकल्पिक स्रोत खोजने में असमर्थ था, लेकिन शायद अगर कोई भी सक्षम हो तो उत्तर को संपादित करने के लिए संपादित किया जा सकता है। – Loftx

8

आप आभासी मशीन की शुरुआत के दौरान jetty.host गुण सेट कर सकते हैं:

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

Btw jetty.port के लिए एक ही।

9

जेट्टी 9 एम्बेडेड के लिए, यह कोड काम करता है।

Server server = new Server();          
    ServerConnector connector=new ServerConnector(server); 
    connector.setPort(80); 
    connector.setHost("localhost");   
    server.setConnectors(new Connector[]{connector}); 
संबंधित मुद्दे