And my settings.py:

SSL_ENABLED = True
SSL_FORCE_URL_PREFIXES = ("/admin", "/account")
SSL_FORCE_HOST = "www.mrphunt.net"
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')

I've tried with and without SECURE_PROXY_SSL_HEADER using 
'HTTP_X_FORWARDED_PROTOCOL' and 'HTTP_X_FORWARDED_PROT' (Seen both in 
different web pages/forums...) head hurts now.




On Saturday, 9 May 2015 15:16:50 UTC+1, Paullo wrote:
>
> Hi,
>
> I'm in the process of testing Mezzanine with Django 1.8/Python 3.4. I've 
> been trying to get SSL working for the admin section. I'm fairly new to 
> nginx/supervisor so I guess it's a config problem, hopefully someone here 
> can tell me how I'm being stoopid :) Apologies if this isn't mezzanine 
> specific. 
>
> I can't find any errors in logs except for this nginx error which occurs 
> when the browser eventually gives up trying to load the /admin page:-
>
> 2015/05/09 14:31:03 [info] 9769#0: *60 peer closed connection in SSL 
> handshake while SSL handshaking to upstream, client: 80.192.66.17, server: 
> www.mrphunt.net, request: "GET /admin/ HTTP/1.1", upstream: 
> "https://unix:/home/paul/webapps/mrphunt/mrphunt/gunicorn.sock:/admin/";, 
> host: "www.mrphunt.net"
>
>
> My nginx.conf is pretty much the default fabfile configuration except i'm 
> redirecting to the www version from the non-www version.
>
> upstream mrphunt {
>     server unix:/home/paul/webapps/mrphunt/mrphunt/gunicorn.sock 
> fail_timeout=0;
> }
>
> server {
>         server_name mrphunt.net;
>         return 301 $scheme://www.mrphunt.net$request_uri;
> }
>
> server {
>
>     listen 80;
>     listen 443 ssl;
>     server_name www.mrphunt.net;
>     client_max_body_size 10M;
>     keepalive_timeout    15;
>     error_log /home/paul/logs/mrphunt_error_nginx.log info;
>     access_log /home/paul/logs/mrphunt_access_nginx.log;
>
>     ssl on;
>     ssl_certificate      conf/mrphunt.crt;
>     ssl_certificate_key  conf/mrphunt.key;
>     ssl_session_cache    shared:SSL:10m;
>     ssl_session_timeout  10m;
>     ssl_ciphers 
> ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
>     ssl_prefer_server_ciphers on;
>
>     # Deny illegal Host headers
>     #if ($host !~* ^(mrphunt|mrphunt.net|www.mrphunt.net)$) {
>     if ($host !~* ^(www.mrphunt.net)$) {
>         return 444;
>     }
>
>     location / {
>         proxy_redirect      off;
>         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-Protocol    $scheme;
>         proxy_pass          http://mrphunt;
>     }
>
>     location /static/ {
>         root            /home/paul/webapps/mrphunt/mrphunt;
>         access_log      off;
>         log_not_found   off;
>         expires 30d;
>     }
>
>     location /robots.txt {
>         root            /home/paul/webapps/mrphunt/mrphunt/static;
>         access_log      off;
>         log_not_found   off;
>     }
>
>     location /favicon.ico {
>         root            /home/paul/webapps/mrphunt/mrphunt/static/img;
>         access_log      off;
>         log_not_found   off;
>     }
> }
>
> gunicorn config:
>
> from __future__ import unicode_literals
> import multiprocessing
>
> bind = "unix:/home/paul/webapps/mrphunt/mrphunt/gunicorn.sock"
> workers = 2
> errorlog = "/home/paul/logs/mrphunt_error.log"
> loglevel = "error"
> proc_name = "mrphunt"
>
>
>
>
> My /etc/supervisor/conf.d/mrphunt.conf:
>
>
> [program:gunicorn_mrphunt]
> command=/home/paul/webapps/mrphunt/bin/gunicorn -c gunicorn.conf.py -p 
> gunicorn.pid wsgi:application
> directory=/home/paul/webapps/mrphunt/mrphunt
> user=paul
> autostart=true
> stdout_logfile = /home/paul/logs/mrphunt_supervisor
> autorestart=true
> redirect_stderr=true
> environment=LANG="en_US.UTF-8",LC_ALL="en_US.UTF-8",LC_LANG="en_US.UTF-8"
>
>
>
> SSL cert was generated as per fabfile.py:
>
> cd /etc/nginx/conf
> sudo openssl req -new -x509 -nodes -out mrphunt.crt -keyout mrphunt.key 
> -subj '/CN=www.mrphunt.net' -days 3650
>
> I'm all out of ideas about the SSL problem :( Everything else I've tried 
> has worked with no problems though yay.
>
> Paullo
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to