2013-07-02 6 views
5

में लोचदार सर्वर सर्वर चलाते समय दूरस्थ पहुंच को अक्षम कैसे करें। हम www.example.com:9200elasticsearch

तक पहुंच सकते हैं, लेकिन मैं दूरस्थ पहुंच को ब्लॉक करना चाहता हूं केवल स्थानीय पहुंच की अनुमति देता हूं।

कैसे सेट करें?

+0

क्या आप उपयोगी उत्तर प्राप्त कर सकते हैं या प्राप्त कर सकते हैं अगर आप उपयोगी थे, या अन्यथा फीडबैक प्रदान करते हैं? जोड़ने के लिए कुछ भी? – javanna

+0

क्या आप फ़ायरवॉल भी करते हैं :-) – DanFromGermany

उत्तर

2

लोचदार खोज आपको सेटिंग में गलत होने के लिए बस http.enabled सेटिंग को http एंडपॉइंट अक्षम करने की अनुमति देता है। यह एक स्थानीय नोड भी होने की अनुमति देता है जो केवल उसी जेवीएम में पहुंच योग्य होगा। दूसरी तरफ आप पूछ रहे हैं कि कैसे बाकी अंतराल पर स्थानीय पहुंच की अनुमति है, जो अलग है और अतिरिक्त उपकरणों के उपयोग की आवश्यकता है।

वास्तव में, इंटरनेट पर लोचदार खोज का खुलासा करना एक अच्छा विचार नहीं है। मैं अपाचे या Nginx जैसे प्रॉक्सी का उपयोग उस तक पहुंच सीमित करने के लिए करता हूं और उदाहरण के लिए केवल कुछ उपलब्ध अंतराल के लिए खोलता हूं, लेकिन केवल तभी जरूरी है जब आपके पास बाहरी उपयोगकर्ता हैं जो सीधे elasticsearch को संदेश भेजना चाहते हैं। आमतौर पर यह मामला नहीं है। या यदि आप सभी बाहरी उपयोगकर्ताओं के लिए इसका उपयोग अस्वीकार करना चाहते हैं, क्योंकि उदाहरण के लिए यह केवल आपकी वेबसाइट या एप्लिकेशन है जिसकी पहुंच की आवश्यकता है, तो केवल फ़ायरवॉल का उपयोग करें और 9200 पोर्ट को बंद करने के लिए उचित नियम सेट करें।

15
इसके बजाय http.enabled /etc/elasticsearch/elasticsearch.yml में सेटिंग्स बदलकर (क्योंकि अपने API के कुछ HTTP endpoint जो मेरे मामले था उपयोग कर सकते हैं) द्वारा पूरे HTTP प्रोटोकॉल को निष्क्रिय करने के

, तो आप सिर्फ एक ही फाइल में network.host: localhost सेट कर सकते हैं।

इससे आपकी :9200 HTTP पहुंच केवल आपके स्थानीय मशीन/सर्वर से उपलब्ध होगी।

+0

यह स्वीकार्य उत्तर होना चाहिए। यहां भी देखें: http://stackoverflow.com/questions/15503455/elasticsearch-allow-only-local- अनुरोध – tirdadc

1

आपको http.host को "127.0.0.1" पर सेट करना चाहिए। इस तरह आप मेजबान से बंदरगाह 9200 पर http तक पहुंच सकते हैं, हालांकि बाहर से नहीं। यह आपको प्रॉक्सी डालने की अनुमति देता है जो कुछ अन्य बंदरगाहों और फ़िल्टरों पर सुनता है और स्थानीयहोस्ट पर लोचदार खोज नोड को अनुरोधों को पास करता है: 9200।

उदाहरण के लिए, आप शट डाउन के अनुरोध को अस्वीकार कर सकते हैं, nginx का उपयोग करके मूल प्रमाणीकरण कर सकते हैं और फिर http://localhost:9200 पर सभी क्वेरी अनुरोध elasticsearch क्लस्टर यूआरएल को पास कर सकते हैं।

इसमें फ़ायरवॉल शामिल नहीं है।