Inference Server डिफ़ॉल्ट रूप से localhost से bind होता है
इनफ़ेरेंस सर्वर प्रारंभ करें अब सर्वर पोर्ट को 127.0.0.1 हर नेटवर्क इंटरफ़ेस पर प्रकाशित करने के बजाय। CLI के साथ शुरू किया गया सर्वर केवल उसी मशीन से जवाब देता है जिस पर वह चल रहा है।
इससे आपके LAN के माध्यम से पहुँच बाधित हो जाती है। यदि आप किसी अलग मशीन से Inference Server तक पहुँचते हैं - जैसे लैपटॉप से Jetson या Raspberry Pi को कॉल करना, कैमरा होस्ट से साझा GPU बॉक्स को कॉल करना, CI रनर, किसी दूसरे होस्ट पर कंटेनर, उसी Wi‑Fi पर फ़ोन - तो वे अनुरोध अब अस्वीकार कर दिए जाते हैं, जब तक कि आप इसे फिर से सक्षम न करें: --bind-address 0.0.0.0.
# नया डिफ़ॉल्ट: केवल इसी मशीन से पहुँचा जा सकता है
इनफ़ेरेंस सर्वर प्रारंभ करें
# पिछला व्यवहार: हर उस मशीन से पहुँचा जा सकता है जो इस होस्ट तक रूट कर सकती है
inference server start --bind-address 0.0.0.0क्यों
स्व-होस्टेड Inference Server को डिफ़ॉल्ट रूप से किसी प्रमाणीकरण की आवश्यकता नहीं होती, और यह Workflows Custom Python blocks चलाता है। साथ मिलकर, इसका अर्थ है कि जो भी पोर्ट 9001तक पहुँच सकता है, उसके लिए आपके होस्ट पर मनमाना कोड निष्पादन संभव है। हर इंटरफ़ेस पर प्रकाशित करने से यह स्थानीय नेटवर्क की हर चीज़ के लिए उपलब्ध हो जाता था, जिसमें अविश्वसनीय Wi‑Fi भी शामिल है। अब Loopback डिफ़ॉल्ट है, इसलिए सुरक्षित कॉन्फ़िगरेशन वही है जो आपको बिना सोचे मिल जाता है।
इससे पहले कि आप बाइंड करें 0.0.0.0
पोर्ट को एक्सपोज़ करना एक ऐसे डिप्लॉयमेंट को चुनना है जिसे अपने अलग नियंत्रणों की आवश्यकता होती है:
सेट करें
WORKSPACES_WHITELISTED_FOR_LOCAL_DEPLOYMENT, या सर्वर के सामने अपनी स्वयं की प्रमाणीकरण व्यवस्था लगाएँ।सेट करें
ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS=falseजब तक कि आपके Workflows को वास्तव में कस्टम Python की ज़रूरत न हो।यदि अनुरोध होस्ट से बाहर जाते हैं, तो TLS को सर्वर पर या किसी upstream proxy पर समाप्त करें।
यदि आप कंटेनर स्वयं शुरू करते हैं
कुछ नहीं बदला, और कुछ बदल भी नहीं सकता: HOST इंटरफ़ेस चुनता है के अंदर कंटेनर, जो एक अलग नेटवर्क नेमस्पेस है, इसलिए इमेज यह सीमित नहीं कर सकती कि होस्ट क्या प्रकाशित करता है। docker run -p 9001:9001 अभी भी हर इंटरफ़ेस पर प्रकाशित होता है। नया व्यवहार पाने के लिए, मैपिंग के होस्ट पक्ष को स्पष्ट रूप से बाइंड करें:
के अंतर्गत --network host कोई पोर्ट मैपिंग नहीं होती, इसलिए सेट करें -e HOST=127.0.0.1 इसके बजाय। Kubernetes में, बनाए रखें HOST=0.0.0.0 और exposure को Service type और NetworkPolicy से नियंत्रित करें।
इस बदलाव में यह भी
Raspberry Pi और अन्य CPU/GPU targets को नया
127.0.0.1डिफ़ॉल्ट; केवल Jetson images को छूट है।inference server start --tunnelअब भी0.0.0.0पर प्रकाशित होता है, क्योंकि tunnel एक अलग कंटेनर में चलता है और host gateway के माध्यम से सर्वर तक पहुँचता है। जब यह ऐसा करता है, CLI एक सूचना दिखाता है।macOS और Windows desktop app bundles बाइंड करते हैं
127.0.0.1भी। सेट करेंHOST=0.0.0.0पिछले व्यवहार को बहाल करने के लिए।
अंतिम अपडेट
क्या यह उपयोगी था?