> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/hi/self-hosted/inference-server/configuration/https.md).

# HTTPS पर Inference सर्व करना

जब आप अपना 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-प्रदत्त प्रमाणपत्र से बदलें।

```bash
# 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 पर भरोसा करते हैं, उन्हें इसकी आवश्यकता नहीं है।

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

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

```bash
docker run --rm -p 9001:9001 \
  -e ENABLE_HTTPS=true \
  -e SSL_CERTFILE=/run/secrets/tls/fullchain.pem \
  -e SSL_KEYFILE=/run/secrets/tls/privkey.pem \
  -v /etc/letsencrypt/live/inference.example.com:/run/secrets/tls:ro \
  roboflow/roboflow-inference-server-cpu:latest
```

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

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

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

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

TLS उन पाँच नियंत्रणों में से एक है जिन्हें इसमें शामिल किया गया है [स्व-होस्टेड सर्वर को सुरक्षित करना](/deployment/hi/self-hosted/inference-server/configuration/security.md); सर्वर को localhost से आगे उजागर करने से पहले बाकी की समीक्षा करें।
