Nginx ve Let’s Encrypt ile Güvenli Ters Proxy Kurulumu
Merhaba! Fatih Soysal olarak, bugün size Nginx ve Let’s Encrypt kullanarak güvenli bir ters proxy nasıl kuracağınızı adım adım göstereceğim. Bu, web uygulamalarınızı güvenli bir şekilde korumak ve performanslarını artırmak için harika bir yöntemdir. Öncelikle, ters proxy’nin ne olduğunu ve neden kullanılması gerektiğini kısaca açıklayalım.
Ters proxy, kullanıcı isteklerini hedef sunucuya yönlendiren bir ara sunucudur. Bu, web uygulamanızın güvenliğini artırmak, yük dengelemesi yapmak ve performansı iyileştirmek için kullanılır. Let’s Encrypt ise ücretsiz ve otomatik SSL sertifikaları sağlayan bir yetkilidir. Bu sayede, web uygulamanız HTTPS üzerinden güvenli bir şekilde erişilebilir hale gelir.
Adım 1: Nginx Kurulumu
İlk adım olarak, sunucunuzda Nginx’i kurmanız gerekmektedir. Bu işlemin nasıl yapılacağı işletim sisteminize göre değişir. Örneğin, Ubuntu/Debian sistemlerinde aşağıdaki komutu kullanabilirsiniz:
sudo apt update
sudo apt install nginx
Kurulum tamamlandıktan sonra, Nginx’i başlatmanız ve otomatik başlatmayı etkinleştirmeniz gerekir:
sudo systemctl start nginx
sudo systemctl enable nginx
Adım 2: Let’s Encrypt ile SSL Sertifikası Alma
Şimdi, Let’s Encrypt’ten ücretsiz bir SSL sertifikası almalıyız. Bunun için Certbot aracını kullanacağız. Öncelikle Certbot’u kurun:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Ardından, aşağıdaki komutu çalıştırarak sertifika alma işlemini başlatın. Bu komut, Nginx ile entegre olarak çalışır ve konfigürasyon dosyalarını otomatik olarak günceller:
sudo certbot --nginx -d sizin-alan-adınız.com
“sizin-alan-adınız.com” kısmını kendi alan adınızla değiştirin. İşlem sırasında bazı sorular sorulacaktır. Talimatları takip ederek devam edin.
Adım 3: Nginx Ters Proxy Konfigürasyonu
Let’s Encrypt sertifikanızı aldıktan sonra, Nginx konfigürasyonunu ters proxy olarak ayarlamalısınız. Bu, Nginx’in istekleri hedef sunucunuza yönlendirmesini sağlar. Örneğin, aşağıdaki konfigürasyon, example.com alan adını 192.168.1.100:8080 adresindeki sunucuya yönlendirir:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://192.168.1.100:8080;
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;
}
}
Bu konfigurasyonu /etc/nginx/sites-available/example.com gibi bir dosyaya kaydedin ve /etc/nginx/sites-enabled/ dizinine sembolik link oluşturun. Sonrasında Nginx’i yeniden başlatın:
sudo systemctl restart nginx
Konfigurasyonunuzu dikkatlice inceleyin ve sunucunuzun IP adresini ve portunu doğru şekilde ayarladığınızdan emin olun. Ayrıca, proxy_pass direktifi sonrası bulunan hedef sunucunuzun çalışır durumda olduğundan emin olun.
Adım 4: Güvenlik İpuçları
Güvenliği sağlamak için aşağıdaki ipuçlarını da göz önünde bulundurmalısınız:
- Düzenli olarak sertifikalarınızı yenileyin. Certbot bu konuda size yardımcı olur.
- Güvenlik duvarınızı doğru şekilde yapılandırın ve gereksiz portları kapatın.
- Nginx’i ve diğer yazılımları güncel tutun.
- Güçlü şifreler kullanın.
- Düzenli olarak güvenlik denetimleri yapın.
Daha fazla bilgi için kendi web sitemi veya Nginx resmi dökümantasyonuna göz atabilirsiniz. Umarım bu rehber size yardımcı olmuştur. Herhangi bir sorunuz varsa bana ulaşmaktan çekinmeyin.
#Etiketler: Nginx, Let’s Encrypt, Ters Proxy, Güvenlik, SSL, Sertifika, Kurulum, Rehber, Adım Adım, HTTPS