सभी शुरुआती गाइड शुरुआत करें

HTTP-01 Challenge: यह कैसे काम करता है और कैसे पूरा करें

HTTP-01 SSL certificate पाने के लिए सबसे common ACME challenge type है। CA आपके web server से HTTP port 80 पर एक specific file fetch करके verify करता है कि आप domain को control करते हैं। यह DNS-01 से simple है लेकिन wildcard certificates के लिए use नहीं किया जा सकता।

यह कैसे काम करता है

  1. Let’s Encrypt आपको एक token (एक random string) देता है
  2. आप http://yourdomain.com/.well-known/acme-challenge/{token} पर एक file बनाते हैं
  3. File की content key authorization है — token को आपके ACME account key thumbprint के साथ combine किया गया
  4. Let’s Encrypt public internet से इस URL को fetch करता है
  5. अगर content match करता है, तो challenge pass हो जाता है और आपका certificate issue हो जाता है

GetHTTPS के साथ, step 1 और 3 automatically handle होते हैं — आपको बस screen पर दिखाए गए values के साथ अपने server पर file रखनी होगी।

Challenge file कैसे रखें

SSH से (Linux/Nginx/Apache)

# Directory बनाएँ
mkdir -p /var/www/html/.well-known/acme-challenge/

# GetHTTPS से exactly सही values के साथ file बनाएँ
echo "KEY_AUTHORIZATION_FROM_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

# Verify करें कि यह accessible है
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

cPanel File Manager से

  1. public_html पर navigate करें
  2. .well-known folder बनाएँ → उसके अंदर acme-challenge folder बनाएँ
  3. Token value के name से एक नई file बनाएँ
  4. Key authorization को file content के रूप में paste करें
  5. Ensure करें कि permissions 644 हैं (web server द्वारा readable)

FTP से

  1. अपने site root से connect करें
  2. .well-known/acme-challenge/ directory path बनाएँ
  3. Token name वाली एक text file upload करें जिसमें key authorization हो

Server configuration

कुछ web servers को .well-known से files serve करने के लिए configuration की ज़रूरत होती है:

Nginx

# अगर .well-known 404 return करता है तो अपने server block में जोड़ें
location /.well-known/acme-challenge/ {
    root /var/www/html;
    allow all;
}

Apache

Apache usually by default .well-known serve करता है। अगर नहीं:

Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
<Directory "/var/www/html/.well-known/acme-challenge/">
    AllowOverride None
    Options None
    Require all granted
</Directory>

Node.js / Express

app.use('/.well-known/acme-challenge', express.static('challenges'));

Requirements

  • Domain को एक public IP address पर resolve होना चाहिए जिस पर आपका server है
  • Port 80 open होना चाहिए — Let’s Encrypt हमेशा HTTP पर verify करता है, HTTPS पर नहीं
  • Response को HTTP 200 OK return करना चाहिए
  • कोई cross-domain redirect नहीं — same-domain HTTP→HTTPS redirect ठीक हैं
  • File बिना authentication के accessible होनी चाहिए (कोई Basic Auth नहीं, कोई login wall नहीं)

HTTP-01 कब use करें

ScenarioHTTP-01?
Single domain certificate✅ हाँ — सबसे simple option
Domain + www certificate✅ हाँ — per name एक challenge
Wildcard certificate (*.example.com)❌ नहीं — DNS-01 use करें
Port 80 blocked है❌ नहीं — DNS-01 use करें
Cloudflare proxy के पीछे⚠️ पहले DNS को grey-cloud करने की ज़रूरत हो सकती है
Server access बिल्कुल नहीं❌ नहीं — DNS-01 use करें (सिर्फ DNS access चाहिए)

HTTP-01 vs DNS-01

HTTP-01DNS-01
आप क्या करते हैंअपने server पर एक file रखेंDNS में TXT record जोड़ें
Required accessWeb server file systemDomain DNS settings
Port requirementPort 80 openकोई नहीं
Wildcard support
SpeedInstant (अगर file accessible है)1-15 minutes (DNS propagation)
CDN के पीछे काम करता है⚠️ CDN bypass की ज़रूरत हो सकती है✅ हमेशा काम करता है
Best forज़्यादातर single-domain certificatesWildcard, no-server-access, CDN setups

Troubleshooting

Challenge file 404 return करती है

  • Exact path check करें/.well-known/acme-challenge/TOKEN होना चाहिए बिना किसी extra slash के
  • File permissions check करें — chmod 644
  • Nginx: आपका config dotfiles block कर सकता है। ऊपर दिखाया गया location block जोड़ें
  • cPanel: File manager .well-known hide कर सकता है — “Show Hidden Files” enable करें

File accessible होने के बावजूद challenge fail

  • अपने network के बाहर से check करें: किसी और machine से curl http://yourdomain.com/.well-known/acme-challenge/TOKEN run करें या web-based tool use करें
  • DNS किसी और server की ओर point हो सकता है — verify करें कि dig +short yourdomain.com आपके server का IP return करता है
  • Cloudflare proxy: validation के दौरान temporarily DNS-only (grey cloud) पर switch करें

Port 80 blocked है

कुछ hosts या firewalls port 80 block करते हैं। Options:

  1. Port 80 open करें (चाहे validation के लिए temporarily)
  2. DNS-01 challenge पर switch करें — port 80 की ज़रूरत नहीं
  3. अपने hosting provider से उनके proxy के through .well-known allow करने के लिए कहें

”too many requests” error

आपने Let’s Encrypt की rate limits hit कर ली हैं। Wait करें और retry करें। GetHTTPS का pre-check submit करने से पहले file की accessibility verify करके wasted attempts से बचने में help करता है।

FAQs

क्या certificate मिलने के बाद मैं challenge file हटा सकता हूँ?

हाँ। File सिर्फ validation के दौरान ज़रूरी है। एक बार आपका certificate issue हो जाने पर, .well-known/acme-challenge/ directory और उसकी content हटा दें। जब आप renew करेंगे तो नई files बनाएंगे।

क्या file को HTTPS पर serve करना ज़रूरी है?

नहीं। Let’s Encrypt हमेशा HTTP-01 को plain HTTP (port 80) पर verify करता है, चाहे आपकी site HTTPS support करती हो। Same-domain HTTP→HTTPS redirect follow किया जाता है, लेकिन initial request हमेशा HTTP होता है।

क्या मैं एक certificate में multiple domains के लिए HTTP-01 use कर सकता हूँ?

हाँ। Certificate में हर domain को अपनी खुद की challenge file चाहिए। अगर आप example.com और www.example.com के लिए certificate ले रहे हैं, तो आप दो files रखते हैं — per domain एक token। GetHTTPS उन्हें sequentially handle करता है।

GetHTTPS में “pre-check” क्या है?

Let’s Encrypt को submit करने से पहले, GetHTTPS verify करता है कि आपकी challenge file public internet (Google के DNS-over-HTTPS के through) से accessible है। यह rate limit attempts waste होने से पहले configuration errors catch करता है — एक ऐसा feature जो other browser-based tools के पास नहीं है।

संबंधित लेख

शुरुआत करें 2026-05-08
Free SSL certificate कैसे पाएं (step-by-step guide)
Let's Encrypt से 5 minutes में free SSL certificate पाएं — कोई software install नहीं, कोई account नहीं बनाना। 4 methods, दोनों challenge types, 6 platforms पर installation, और troubleshooting cover करने वाली complete guide।
शुरुआत करें 2026-05-08
DNS-01 Challenge: यह कैसे काम करता है और कैसे पूरा करें
DNS-01 validation आपके DNS में TXT record जोड़कर domain ownership prove करता है। Wildcard certificates के लिए ज़रूरी। Cloudflare, Route 53, GoDaddy, Namecheap और बाकी providers के लिए setup शामिल है।
शुरुआत करें 2026-05-07
Free wildcard SSL certificate कैसे पाएं
GetHTTPS use करके Let's Encrypt से free wildcard SSL certificate (*.example.com) पाएं। सिर्फ DNS-01 challenge ज़रूरी। Cloudflare, Route 53, GoDaddy, और Namecheap DNS setup शामिल।
अपने browser में मुफ़्त SSL certificate पाएँ
कोई installation नहीं, कोई account नहीं। आपकी private key कभी आपका device नहीं छोड़ती।
अपना certificate पाएँ