
caddy v2.11.7
तेज़ और विस्तार योग्य मल्टी-प्लेटफ़ॉर्म HTTP/1-2-3 वेब सर्वर जिसमें स्वचालित HTTPS है।
एक
प्रोजेक्ट
हर साइट HTTPS पर
Caddy एक विस्तारणीय सर्वर प्लेटफ़ॉर्म है जो डिफ़ॉल्ट रूप से TLS का उपयोग करता है।
रिलीज़ · दस्तावेज़ीकरण · सहायता प्राप्त करें
मेनू
- विशेषताएँ
- इंस्टॉल करें
- सोर्स से बिल्ड करें
- त्वरित शुरुआत
- अवलोकन
- पूर्ण दस्तावेज़ीकरण
- सहायता प्राप्त करना
- परिचय
विशेषताएँ
- Caddyfile के साथ आसान कॉन्फ़िगरेशन
- इसके नेटिव JSON कॉन्फ़िग के साथ शक्तिशाली कॉन्फ़िगरेशन
- JSON API के साथ गतिशील कॉन्फ़िगरेशन
- कॉन्फ़िग एडाप्टर यदि आपको JSON पसंद नहीं है
- डिफ़ॉल्ट रूप से स्वचालित HTTPS
- सार्वजनिक नामों के लिए ZeroSSL और Let's Encrypt
- आंतरिक नामों और IPs के लिए पूरी तरह से प्रबंधित स्थानीय CA
- क्लस्टर में अन्य Caddy इंस्टेंस के साथ समन्वय कर सकता है
- मल्टी-इश्यूअर फ़ॉलबैक
- एन्क्रिप्टेड ClientHello (ECH) समर्थन
- TLS/OCSP/प्रमाणपत्र-संबंधित समस्याओं के कारण अन्य सर्वर डाउन होने पर भी चालू रहता है
- ट्रिलियन्स अनुरोधों की सेवा और लाखों TLS प्रमाणपत्रों के प्रबंधन के बाद प्रोडक्शन-रेडी
- प्रोडक्शन में सिद्ध सैकड़ों हज़ारों साइटों तक स्केल करता है
- HTTP/1.1, HTTP/2, और HTTP/3 सभी डिफ़ॉल्ट रूप से समर्थित
- अत्यधिक विस्तारणीय मॉड्यूलर आर्किटेक्चर Caddy को बिना ब्लोट के कुछ भी करने देता है
- कहीं भी चलता है बिना किसी बाहरी निर्भरता के (libc भी नहीं)
- Go में लिखा गया, एक भाषा जिसमें अन्य सर्वरों की तुलना में मेमोरी सुरक्षा की उच्च गारंटी है
- वास्तव में उपयोग करने में मज़ेदार
- खोजने के लिए बहुत कुछ और
इंस्टॉल करें
शुरू करने का सबसे सरल, क्रॉस-प्लेटफ़ॉर्म तरीका है GitHub Releases से Caddy डाउनलोड करना और executable फ़ाइल को अपने PATH में रखना।
अन्य इंस्टॉल निर्देशों के लिए हमारा ऑनलाइन दस्तावेज़ीकरण देखें।
सोर्स से बिल्ड करें
आवश्यकताएँ:
विकास के लिए
नोट: ये चरण उचित संस्करण जानकारी एम्बेड नहीं करेंगे। इसके लिए, कृपया अगले अनुभाग में दिए गए निर्देशों का पालन करें।
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
जब आप Caddy चलाते हैं, तो यह कम पोर्ट्स पर बाइंड करने का प्रयास कर सकता है जब तक कि आपके कॉन्फ़िग में अन्यथा निर्दिष्ट न हो। यदि आपके OS को इसके लिए उन्नत विशेषाधिकारों की आवश्यकता है, तो आपको अपने नए बाइनरी को ऐसा करने की अनुमति देनी होगी। Linux पर, यह आसानी से इसके साथ किया जा सकता है: sudo setcap cap_net_bind_service=+ep ./caddy
यदि आप go run का उपयोग करना पसंद करते हैं जो केवल अस्थायी बाइनरी बनाता है, तो आप अभी भी शामिल setcap.sh के साथ ऐसा कर सकते हैं:
$ go run -exec ./setcap.sh main.go
यदि आप setcap के लिए अपना पासवर्ड टाइप नहीं करना चाहते हैं, तो अपनी sudoers फ़ाइल को संपादित करने के लिए sudo visudo का उपयोग करें और अपने उपयोगकर्ता खाते को बिना पासवर्ड के उस कमांड को चलाने की अनुमति दें, उदाहरण के लिए:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
username को अपने वास्तविक उपयोगकर्ता नाम से बदलें। कृपया सावधान रहें और ऐसा केवल तभी करें जब आप जानते हों कि आप क्या कर रहे हैं! हम केवल Caddy का उपयोग करने का तरीका प्रलेखित करने के योग्य हैं, Go टूलिंग या आपके कंप्यूटर का नहीं, और हम ये निर्देश केवल सुविधा के लिए प्रदान कर रहे हैं; कृपया अपने जोखिम पर अपने कंप्यूटर का उपयोग करना सीखें और आवश्यक समायोजन करें।
फिर आप सभी मॉड्यूल्स या किसी विशिष्ट में टेस्ट चला सकते हैं:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
संस्करण जानकारी और/या प्लगइन्स के साथ
हमारे बिल्डर टूल, xcaddy का उपयोग करके...
$ xcaddy build
...निम्नलिखित चरण स्वचालित हैं:
- एक नया फ़ोल्डर बनाएँ:
mkdir caddy - उसमें जाएँ:
cd caddy - Caddy का main.go को खाली फ़ोल्डर में कॉपी करें। अपने इच्छित कस्टम प्लगइन्स के लिए इम्पोर्ट जोड़ें।
- एक Go मॉड्यूल इनिशियलाइज़ करें:
go mod init caddy - (वैकल्पिक) Caddy संस्करण पिन करें:
go get github.com/caddyserver/caddy/v2@versionजहाँversionको git टैग, कमिट, या ब्रांच नाम से बदलें। - (वैकल्पिक) प्लगइन्स जोड़ें उनका इम्पोर्ट जोड़कर:
_ "import/path/here" - कंपाइल करें:
go build -tags=nobadger,nomysql,nopgx