Bu makalede, Node.js projelerinizde Express ile çalışan bir HTTP sunucusu ve https paketi kullanılarak oluşturulan bir HTTPS sunucusunu nasıl aynı anda çalıştırabileceğinizi öğreneceksiniz. Ayrıca, Mkcert kullanarak güvenli SSL sertifikaları oluşturmayı ve bu sertifikaların tarayıcılarda da güvenilir olarak tanınmasını sağlayarak yerel geliştirme sürecinizi güvenli hale getirmeyi öğreneceksiniz. Mkcert, geliştirme aşamasında tarayıcıların güvenli kabul ettiği geçerli yerel SSL sertifikaları oluşturmanıza olanak tanır, bu sayede geliştirme ortamınızda HTTPS üzerinden sorunsuz ve güvenli bir şekilde çalışabilirsiniz.
Mkcert Kurulumu:
Windows İçin Mkcert Kurulumu:
Windows'ta Mkcert'i kurmak için Chocolatey paket yöneticisini kullanabilirsiniz. Öncelikle nss araçlarını kurun. Bir komut istemi açın ve şu komutları girin:
MacOS İçin Mkcert Kurulumu:
MacOS'ta Homebrew paket yöneticisini kullanarak Mkcert kurabilirsiniz. Homebrew aracılığıyla önce nss paketini kurmanız gerekebilir. Bir terminal açın ve aşağıdaki komutları çalıştırın:
Linux İçin Mkcert Kurulumu:
Linux'ta, Mkcert'i kurmadan önce libnss3-tools paketini yüklemek gerekebilir. Örneğin, Ubuntu'da aşağıdaki komutları kullanarak hem nss araçlarını hem de Mkcert'i kurabilirsiniz:
Bu adımları takip ederek, Windows, MacOS ve Linux işletim sistemlerinde Mkcert ve gerekli nss araçlarını başarıyla kurabilirsiniz.
Mkcert İle SSL Sertifikası Oluşturma:
Mkcert kurulumunu tamamladıktan sonra, SSL sertifikalarını oluşturmak için aşağıdaki komutu kullanın:
Bu komut, ./certificates dizini altında key.pem ve cert.pem dosyalarını oluşturur, bu da localhost üzerinde güvenli bir bağlantı sağlar.
Node.js Uygulamasında HTTP ve HTTPS Sunucularının Yapılandırılması:
Express ile HTTP Sunucusu:
Express.js, Node.js için popüler bir web çatısıdır. Aşağıdaki kod, 80 portunda bir HTTP sunucusu başlatır:
HTTPS Sunucusu Oluşturma:
HTTPS sunucusu için, https modülünü ve Mkcert ile oluşturulan sertifikaları kullanın. Aşağıdaki kod, 443 portunda bir HTTPS sunucusu başlatır:
Yukarıda verilen örnekler, Node.js ve Express.js kullanılarak oluşturulan ayrı HTTP ve HTTPS sunucularını göstermektedir. Ancak, bu sunucuları tek bir uygulamada birleştirerek çalıştırmak, geliştirme sürecinizde hem güvenlik hem de erişilebilirlik açısından önemli avantajlar sağlar. Bu yaklaşım, geliştiricilere, uygulamalarının farklı protokoller altında nasıl performans gösterdiğini anlama ve gerekli ayarlamaları yapma fırsatı verir. Aşağıda, hem HTTP (80 portunda) hem de HTTPS (443 portunda) sunucularını aynı Express uygulamasında nasıl çalıştırabileceğiniz gösterilmektedir:
Bu yapılandırma ile, aynı Node.js uygulaması hem HTTP hem de HTTPS isteklerine yanıt verebilecek şekilde çalıştırılmış olur. Bu esneklik, yerel geliştirme sırasında hem güvenli hem de standart bağlantıların test edilmesine olanak tanır ve uygulamanızın her iki protokolde de nasıl performans gösterdiğini anlamanıza yardımcı olur.
Node.js ve Express.js kullanarak HTTP ve HTTPS sunucularını aynı uygulamada çalıştırmak, modern web geliştirmenin önemli bir yönüdür. Bu makalede, Mkcert aracılığıyla güvenli SSL sertifikaları oluşturmanın ve hem HTTP hem de HTTPS sunucularını aynı uygulamada nasıl çalıştırabileceğinizin adımları anlatılmıştır. Bu yaklaşım, geliştirme sürecinizi daha esnek hale getirirken, aynı zamanda güvenlik konusunda da sizi bilgilendirir ve hazırlar.