I have a Django ecommerce site running, and have purchases and installed an SSL cert for it.
I have added a VirtualHost entry:
<VirtualHost *:443> #Basic setup ServerAdmin [email protected] ServerName test.com ServerAlias www.test.com Alias /media/admin/ /home/test/public_html/test/release/env/lib/python2.6/dist-packages/django/contrib/admin/media/ Alias /static/ /home/test/public_html/test/release/static/ Alias /media/ /home/test/public_html/test/release/media/ <Directory /home/test/public_html/test/release/> Order deny,allow Allow from all </Directory> RewriteEngine On LogLevel warn ErrorLog /home/test/public_html/test/logs/error.log CustomLog /home/test/public_html/test/logs/access.log combined WSGIDaemonProcess test user=www-data group=www-data threads=20 processes=2 WSGIProcessGroup test_ssl WSGIScriptAlias / /home/test/public_html/test/release/apache/test.wsgi SSLEngine On SSLCertificateFile /etc/apache2/ssl/test.com.crt SSLCertificateChainFile /etc/apache2/ssl/gs_root.pem SSLCertificateKeyFile /etc/apache2/ssl/www.test.com.key </VirtualHost> Here is the urls.py file:
from django.conf.urls.defaults import patterns, include, url from django.contrib import admin from django.conf import settings from gallery.models import LOCATIONS, Photo admin.autodiscover() from satchmo_store.urls import urlpatterns as satchmo_urls from satchmo_store.shop.views.sitemaps import sitemaps from cms.sitemaps import CMSSitemap sitemaps['pages'] = CMSSitemap urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^search/', include('haystack.urls')), # Include satchmo urls. Unfortunately, this also includes it's own # /admin/ and everything else. url(r'^shop/', include(satchmo_urls)), url(r'^sitemap\.xml/?$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), url(r'events/gallery/(.*)/(.*)/$', 'gallery.views.events_image'), url(r'locations/view-all/(.*)/$', 'gallery.views.locations_image'), url(r'locations/view-all/$', 'gallery.views.locations_view_all',{ 'queryset':Photo.objects.filter(gallery__category=LOCATIONS).distinct()}), url(r'^contact-us/', include('contact_form.urls')), url(r'^', include('cms.urls')), ) if settings.DEBUG: urlpatterns = patterns('', (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), (r'^404/$', 'django.views.defaults.page_not_found'), (r'^500/$', 'django.views.defaults.server_error'), ) + urlpatterns There is also a conf for non ssl which is working fine.
Whenever I request the HTTPS version of the site, I get a 302 header response which redirects to the HTTP version.
There are no redirects in the apache conf that explicitly state go to port 80.
Ive been banging my head against this for a while, any help would be great!
Thanks