Çoğu kendi kendine barındırılan uygulama 127.0.0.1:3000 gibi yerel bir portu dinler ve düz HTTP konuşur. Bir ters proxy önde 80/443 portlarında durur, HTTPS'i gerçek bir sertifikayla sonlandırır ve trafiği o yerel porta iletir — size temiz bir https://app.yourdomain.com verir ve tek bir IP arkasında birden çok uygulama çalıştırmanıza izin verir. İşte iki yaygın yol.
Ön koşullar
- Sunucunuzun IP'sine işaret eden bir A kaydı olan bir alan adı (DNS yayılmasını bekleyin).
- 80 ve 443 portları açık — UFW güvenlik duvarı nasıl kurulur sayfasına bakın.
- Uygulamanız yerelde çalışıyor, örneğin
127.0.0.1:3000üzerinde.
Seçenek A — Caddy (otomatik HTTPS, tek satır)
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
Hepsi bu — Caddy alan adı için bir Let's Encrypt sertifikası alır ve otomatik yeniler.
Seçenek B — nginx + Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
/etc/nginx/sites-available/app dosyasını oluşturun:
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;
}
}
Etkinleştirin ve HTTPS ekleyin:
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 yapılandırmayı HTTPS sunacak şekilde düzenler ve otomatik yenilemeyi ayarlar.
Dürüst uyarılar
- DNS ve portlar olağan hata kaynaklarıdır. A kaydı buraya işaret etmeli ve yayılmış olmalı, 80/443 erişilebilir olmalı, yoksa sertifika verimi başarısız olur. Düzeltilir düzeltilmez iki araç da yeniden dener.
- Yalnızca niyetlendiğinizi açığa çıkarın. Uygulamayı
127.0.0.1üzerine bağlı tutun ki yalnızca proxy üzerinden erişilebilsin, doğrudan değil. - HTTPS bir alan adına ihtiyaç duyar, çıplak IP'ye değil — Let's Encrypt adlara verir.
Sonraki adımlar
Ters proxy, tek bir sunucunun pek çok şeyi sunmasını sağlayan şeydir — tek bir IP arkasında birden çok servisi barındırma sayfasına bakın. Uygulamayı bir konteynerde mi çalıştırıyorsunuz? Docker nasıl kurulur ile başlayın. Uygulamanın kendisinin yeniden başlatmalar ve çökmeler boyunca ayakta kalması için systemd servisi nasıl oluşturulur sayfasına bakın.
Yorumlar
Henüz yorum yok. İlk olun.