EQVPS
Anza

Jinsi ya kusanidi reverse proxy ya nginx yenye HTTPS

Weka kikoa safi na HTTPS otomatiki mbele ya programu yoyote inayosikiliza kwenye lango la ndani. Njia mbili: nginx pamoja na Certbot, au Caddy kwa TLS otomatiki katika mstari mmoja. Hatua kwa hatua, na usanidi tayari kunakiliwa.

Programu nyingi za kujiendesha husikiliza kwenye lango la ndani kama 127.0.0.1:3000 na huzungumza HTTP ya kawaida. Reverse proxy husimama mbele kwenye lango 80/443, humaliza HTTPS kwa cheti halisi, na hupeleka trafiki kwenye lango hilo la ndani — hukupa https://app.yourdomain.com safi na hukuruhusu kuendesha programu nyingi nyuma ya IP moja. Hizi hapa njia mbili za kawaida.

Mahitaji ya awali

Chaguo A — Caddy (HTTPS otomatiki, mstari mmoja)

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

Ndiyo hivyo — Caddy hupata cheti cha Let's Encrypt kwa kikoa na kukihuisha kiotomatiki.

Chaguo B — nginx + Certbot

sudo apt install -y nginx certbot python3-certbot-nginx

Tengeneza /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;
    }
}

Iwezeshe na ongeza 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 huhariri usanidi ili kuhudumia HTTPS na kuweka uhuishaji otomatiki.

Maonyo ya kweli

Hatua zinazofuata

Reverse proxy ndiyo kinachoruhusu seva moja kuhudumia mambo mengi — ona kujiendeshia huduma nyingi nyuma ya IP moja. Unaendesha programu ndani ya kontena? Anza na jinsi ya kusakinisha Docker. Ili programu yenyewe ibaki hai baada ya kuanzishwa upya na kuanguka, ona jinsi ya kuunda huduma ya systemd.

Maswali

Reverse proxy ni nini na kwa nini naihitaji?

Programu yako kwa kawaida husikiliza kwenye lango la ndani kama 127.0.0.1:3000. Reverse proxy husimama mbele kwenye lango 80/443, humaliza HTTPS, na hupeleka maombi kwenye lango hilo la ndani. Inakupa kikoa safi, cheti halali cha TLS, na uwezo wa kuendesha programu nyingi nyuma ya IP moja — bila programu yenyewe kushughulikia lolote kati ya hayo.

nginx au Caddy — nichague ipi?

Caddy ndiyo njia ya haraka zaidi: hupata na kuhuisha vyeti vya Let's Encrypt kiotomatiki, na proxy ya HTTPS inayofanya kazi ni mstari mmoja wa usanidi. nginx inajulikana zaidi na ni rahisi kubadilika, lakini kwa TLS unaongeza Certbot. Ukitaka HTTPS kwa usumbufu mdogo, tumia Caddy; ukishajua nginx au unahitaji vipengele vyake, tumia nginx.

Je, ninahitaji kikoa?

Kwa cheti cha HTTPS kinachoaminika, ndiyo — Let's Encrypt hutoa vyeti kwa majina ya vikoa, si kwa IP tupu. Elekeza rekodi ya A kwenye IP ya seva yako, subiri usambazaji wa DNS, kisha proxy itaweza kupata cheti kwa jina hilo.

Ni malango gani yanapaswa kuwa wazi?

80 na 443 zinazoingia. Lango 80 hutumika kwa changamoto ya awali ya cheti na uelekezaji kwenda HTTPS; 443 huhudumia trafiki iliyosimbwa. Fungua yote mawili kwenye ngome yako (ona mwongozo wa UFW) na hakikisha hakuna kitu kingine kilichoyachukua tayari.

Kwa nini utoaji wa cheti unashindwa?

Karibu kila mara ni DNS au malango. Rekodi ya A ya kikoa lazima ielekeze kwenye seva hii na iwe imesambaa, na malango 80/443 yawe yanafikika (wazi kwenye ngome, si yamezuiwa juu). Rekebisha hayo mawili na utoaji hufaulu; Caddy na Certbot vyote hujaribu tena.

Maoni

Bado hakuna maoni. Kuwa wa kwanza.

Acha maoni

Maoni yanakaguliwa kabla ya kuonekana.