For the complete documentation index, see llms.txt. This page is also available as Markdown.

HTTPS के माध्यम से Inference परोसना

अपने स्वयं के TLS certificate, custom cert paths, encrypted keys, और mutual TLS के साथ एक self-hosted Roboflow Inference server को HTTPS के माध्यम से परोसें।

जब आप अपना TLS प्रमाणपत्र और निजी कुंजी प्रदान करते हैं, तो इन्फरेंस सर्वर सीधे HTTPS सर्व कर सकता है। यह स्व-होस्टेड परिनियोजनों के लिए उपयोगी है, जहाँ आप कंटेनर के सामने TLS-समापन रिवर्स प्रॉक्सी नहीं रख सकते।

HTTPS को पूरी तरह से पर्यावरण चर के माध्यम से कॉन्फ़िगर किया जाता है।

पर्यावरण चर

चर
विवरण
डिफ़ॉल्ट

ENABLE_HTTPS

मुख्य स्विच। इसे True, 1या हाँ पर HTTPS सक्षम करने के लिए।

False

SSL_CERTFILE

कंटेनर के अंदर PEM-एन्कोडेड प्रमाणपत्र का पथ।

/etc/inference/certs/server.crt

SSL_KEYFILE

कंटेनर के अंदर PEM-एन्कोडेड निजी कुंजी का पथ।

/etc/inference/certs/server.key

SSL_KEYFILE_PASSWORD

एन्क्रिप्टेड निजी कुंजी के लिए पासफ़्रेज़।

unset

SSL_CA_CERTS

क्लाइंट प्रमाणपत्रों (mTLS) को सत्यापित करने के लिए उपयोग किया जाने वाला CA बंडल।

unset

प्रमाणपत्र और कुंजी के पथ डिफ़ॉल्ट रूप से /etc/inference/certs/...पर सेट होते हैं, इसलिए सबसे सरल परिनियोजन में केवल आपको अपने प्रमाणपत्र और कुंजी को उन पथों पर माउंट करना होगा और सेट करना होगा ENABLE_HTTPS=true.

यदि ENABLE_HTTPS सेट है, लेकिन प्रमाणपत्र या कुंजी गायब है, तो सर्वर उन पथों की सूची वाले त्रुटि संदेश के साथ शुरू होने से इनकार कर देता है जिन्हें उसने पढ़ने की कोशिश की थी।

स्व-हस्ताक्षरित प्रमाणपत्रों के साथ त्वरित शुरुआत

नीचे दिया गया उदाहरण CPU इमेज को चलाता है https://localhost:9001 पर एक स्व-हस्ताक्षरित प्रमाणपत्र का उपयोग करते हुए। प्रोडक्शन में प्रमाणपत्र जनरेशन चरण को अपने CA-प्रदत्त प्रमाणपत्र से बदलें।

# 1. localhost के लिए मान्य स्व-हस्ताक्षरित प्रमाणपत्र/कुंजी जोड़ी बनाएँ
mkdir -p /tmp/inference-certs
openssl req -x509 -newkey rsa:2048 -nodes \
  -keyout /tmp/inference-certs/server.key \
  -out /tmp/inference-certs/server.crt \
  -days 365 \
  -subj "/CN=localhost" \
  -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"

# 2. HTTPS सक्षम करके इन्फरेंस सर्वर चलाएँ
docker run --rm -p 9001:9001 \
  -e ENABLE_HTTPS=true \
  -v /tmp/inference-certs:/etc/inference/certs:ro \
  roboflow/roboflow-inference-server-cpu:latest

# 3. दूसरे शेल से सत्यापित करें
curl -sk https://localhost:9001/info

-k (या --insecure) केवल इसलिए आवश्यक है क्योंकि प्रमाणपत्र स्व-हस्ताक्षरित है; जो क्लाइंट आपके CA पर भरोसा करते हैं, उन्हें इसकी आवश्यकता नहीं है।

कस्टम प्रमाणपत्र पथ

यदि आपके प्रमाणपत्र डिफ़ॉल्ट स्थानों के अलावा कहीं और हैं, तो पथ स्पष्ट रूप से सेट करें:

एन्क्रिप्टेड निजी कुंजियाँ

जब कुंजी फ़ाइल एन्क्रिप्टेड हो, तो पासफ़्रेज़ को SSL_KEYFILE_PASSWORD. इमेज में मान को बेक करने के बजाय Docker Secrets या किसी अन्य सीक्रेट स्टोर को प्राथमिकता दें।

म्यूचुअल TLS (क्लाइंट प्रमाणपत्र)

सेट करें SSL_CA_CERTS क्लाइंट प्रमाणपत्रों को सत्यापित करने के लिए उपयोग किए जाने वाले CA बंडल पर। केवल वही क्लाइंट अनुमत हैं जो सूचीबद्ध CAs में से किसी एक द्वारा हस्ताक्षरित प्रमाणपत्र प्रस्तुत करते हैं।

TLS उन पाँच नियंत्रणों में से एक है जिन्हें इसमें शामिल किया गया है स्व-होस्टेड सर्वर को सुरक्षित करना; सर्वर को localhost से आगे उजागर करने से पहले बाकी की समीक्षा करें।

अंतिम अपडेट

क्या यह उपयोगी था?