አብዛኞቹ በራስ የተስተናገዱ መተግበሪያዎች እንደ 127.0.0.1:3000 ባለ አካባቢያዊ ወደብ ላይ ያዳምጣሉ እና ግልፅ HTTP ይናገራሉ። ተገላቢጦሽ ፕሮክሲ ፊት ለፊት በወደብ 80/443 ላይ ይቆማል፣ HTTPS ን በእውነተኛ የምስክር ወረቀት ያጠናቅቃል፣ ትራፊክንም ወደዚያ አካባቢያዊ ወደብ ያስተላልፋል — ንፁህ https://app.yourdomain.com ይሰጥዎታል እና ከአንድ IP ኋላ ብዙ መተግበሪያዎችን እንዲያስኬዱ ያስችልዎታል። ሁለቱ የተለመዱ መንገዶች እነሆ።
ቅድመ ሁኔታዎች
- ወደ አገልጋይዎ IP የሚያመለክት A ሪከርድ ያለው ጎራ (የ DNS ስርጭትን ይጠብቁ)።
- ወደቦች 80 እና 443 ክፍት — ይመልከቱ የ UFW እሳት ግድግዳን እንዴት ማዋቀር እንደሚቻል።
- መተግበሪያዎ በአካባቢ እየሰራ ነው፣ ለምሳሌ በ
127.0.0.1:3000ላይ።
አማራጭ A — Caddy (ራስ-ሰር HTTPS፣ አንድ መስመር)
sudo apt install -y caddy
echo 'app.yourdomain.com { reverse_proxy 127.0.0.1:3000 }' | sudo tee /etc/caddy/Caddyfile
sudo systemctl restart caddy
ይኸው ብቻ — Caddy ለጎራው የ Let's Encrypt የምስክር ወረቀት ያገኛል እና ራስ-ሰር ያድሰዋል።
አማራጭ B — nginx + Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
/etc/nginx/sites-available/app ይፍጠሩ:
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ያንቁት እና HTTPS ይጨምሩ:
sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d app.yourdomain.com
Certbot HTTPS ለማቅረብ ውቅሩን ያስተካክላል እና ራስ-ሰር ማደሻን ያዘጋጃል።
ታማኝ ማስጠንቀቂያዎች
- DNS እና ወደቦች የተለመዱ ውድቀቶች ናቸው። የ A ሪከርድ ወደዚህ ማመልከትና መሰራጨት አለበት፣ 80/443 ደግሞ ተደራሽ መሆን አለባቸው፣ አለበለዚያ የምስክር ወረቀት አሰጣጥ ይከሽፋል። ይህ እንደተስተካከለ ሁለቱም መሳሪያዎች እንደገና ይሞክራሉ።
- የፈለጉትን ብቻ ያጋልጡ። መተግበሪያውን ከ
127.0.0.1ጋር ታስሮ ይያዙት፣ በቀጥታ ሳይሆን በፕሮክሲ በኩል ብቻ ተደራሽ እንዲሆን። - HTTPS ጎራ ይፈልጋል፣ ባዶ IP አይደለም — Let's Encrypt ለስሞች ይሰጣል።
ቀጣይ ደረጃዎች
ተገላቢጦሽ ፕሮክሲ አንድ አገልጋይ ብዙ ነገሮችን እንዲያቀርብ የሚያስችለው ነገር ነው — ይመልከቱ ከአንድ IP ኋላ ብዙ አገልግሎቶችን በራስ ማስተናገድ። መተግበሪያውን በኮንቴይነር ውስጥ እያስኬዱ ነው? በ Docker እንዴት እንደሚጫን ይጀምሩ። መተግበሪያው ራሱ ዳግም ማስነሳትንና ብልሽትን አልፎ በሕይወት እንዲቆይ፣ ይመልከቱ የ systemd አገልግሎት እንዴት እንደሚፈጠር።
አስተያየቶች
እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።