İçeriğe geç

Django Geliştirme Sunucusunu HTTPS ile Sunmak

Herkese merhabalar. Bildiğiniz üzere Django geliştirme sürecinde test ve hata ayıklama işlemlerinin yapılabilmesi için yerleşik basit bir geliştirme sunucusuna sahip.

Fakat bu sunucu bazı dış servislerle çalışırken yetersiz kalabilmekte. Örneğin sosyal medya hesapları üzerinden sisteme kullanıcı kabul etmek istediğimizde, web uygulamamızı kullanacağımız uygulamaya tanıtırken bizden HTTPS protokolü üzerinden çalışan bir bağlantı isteyebiliyor. Yerleşik gelen geliştirme sunucusu ise HTTP üzerinden hizmet veriyor. Bu gibi durumlarda daha canlıya çıkmamışken test ve diğer işlemler için bu özelliği Django’ya kazandırmamız gerekebilir. Bir kaç basit işlemle bunun üstesinden gelebiliriz.

Halihazırda bir Django projesi ayağa kaldırdığınızı varsayarak devam edelim.

Gerekliliklerin yüklenmesi.

Django extensions bir çok yararlı Django aracının toplandığı bir paket, https bağlantı sunma, model ER diyagramlarının çıkartılması veya sahte veri girilmesi gibi bir çok yeteneğe sahip. Daha detaylı bilgi için.

Werkzeug kapsamlı bir WSGI web uygulama kütüphanesi. Kullanacak olduğumuz Django extension’u runserver_plus aracı hata ayıklama katmanı için kullanmakta. Geliştirme yaparken daha detaylı bilgi vermesi ve direkt kod bloklarının tarayıcı üzerinden çalıştırılabilmesi gibi avantajları bulunmakta.

Son olarak runserver_plus eklentisinin SSL/TLS bağlantılarını yönetebilmesi için gerekli olan paketi de kuralım.

Daha sonra eklentileri kullanabilmek için Django’ya tanıtmamız gerekmekte.

Herhangi bir migration işlemi gerekmemekte.

Komutunu vererek HTTPS sunucumuzu başlatıyoruz. Django extensions bizim için otomatik olarak anahtar ve sertifika oluşturacak. Aşağıdaki çıktıda projenizin werkzeug server üzerinden başlatıldığını, debug pininizi ve adresi görebilirsiniz. Oluşturulan sertifika ve key dosyaları da çalışma alanınıza eklenmiş olacaktır.

Tarayıcınızdan localhost:8000 adresine gittiğinizde artık sunucunuza HTTPS üzerinden erişebiliyor olacaksınız. Tarayıcınız bu sertifikaya güvenmemeniz gerektiği ile alakalı bir uyarı verebilir. Çünkü kendimizin ürettiği bir sertifika ile bu işlemi yapmaya çalışıyoruz. İleri düzey seçeneklerden riski kabul ettiğinizi belirtip sertifikaya güvenmesi gerektiğini söylemelisiniz.

Sertifikanızı değiştirmediğiniz sürece diğer bağlantılarda bu uyarıyla karşılaşmadan devam edebilir ve testlerinizi yapabilirsiniz kolay gelsin 🙂

NOT.

Bu yöntem kesinlikle canlı ortamda kullanılmamalıdır, sadece test amaçlıdır.

Bazı dış servisler localhost, 127.0.0.1 gibi domain veya IP ler ile işlem yapılmasını engelleyebilmekte, bu yüzden lokal geliştirme sunucunuzu myhome.com tarzı bir domaine maplemeniz akıllıca olabilir. 😉

NGROK İLE TÜNELLEME.

Diğer bir yol olarak Ngrok ile lokal sunucunuzu tünelleyerek projeniz gerçek bir sunucuda koşuyormuşcasına bir simülasyon kurgulayabilirsiniz. Nasıl yapacağım derseniz şuradan göz atabilirsiniz 🙂

İyi günler!

 

 

 

Tarih:Blog

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göster
Gizle