2011-12-03 14 views
5

Django uygulamaları için bir ssl yönlendirme programı (https://bitbucket.org/yilmazhuseyin/django-sslredirector) yazmaya çalışıyorum. Sorun şu ki, sayfaları https'den https'ye yönlendirdiğimde, güvenli bağlantıda olduğumu anlayamıyorum (request.is_secure diye adlandırdığımda false döndürür). Bunun bir şekilde, bir şekilde Webfaction denen şeyin nasıl çalıştığını anlayamadığım bir hack olduğunu düşünüyorum. Burada Webfaction durum için is_secure yöntemidir ben https gelen http benim yönlendirme sayfalarına zamanDjango request.is_secure, yeniden yönlendirilen yöntemler için yanlış değer döndürüyor

def _is_secure(self, request): 
     if request.is_secure(): 
     return True 

     #Handle the Webfaction case until this gets resolved in the request.is_secure() 
     if 'HTTP_X_FORWARDED_SSL' in request.META: 
     return request.META['HTTP_X_FORWARDED_SSL'] == 'on' 

Benim sorundur, request.is_secure yöntemi hala yanlış (Ben https ben sanki olayı) döner ve ben sürekli benim yönlendirme sayfalarına https. Sadece https'den yönlendirilip yönlendirilmediğimi anlamanın bir yolu var mı? Bulabildiğim

iyi kaynak bu http://djangosnippets.org/snippets/880/ olduğunu ve trafik vekil çeşit yoluyla yapılıyorsa o SSL kullanıyorsanız gerçeği gizlenir mümkündür beni

cevap

5

için çalışmıyor. Bununla birlikte, proxy genellikle bir tür HTTP üst bilgisi (veya bunu yapmak için yapılandırabilirsiniz) kuracaktır. Bir seçenek HTTP_X_FORWARDED_SSL. Https kullanıyorsanız, Heroku HTTP_X_FORWARDED_PROTO'ları https olarak ayarlar.

+0

Bunun bir heroku çözümü olduğunu onaylayabilirim –

İlgili konular