2015-04-23 17 views
11

Qualcuno ha una configurazione funzionante per questi quattro?Django + uWSGI + Nginx + SSL - richiesta di configurazione di lavoro (enfasi su SSL)

- Django 
- uWSGI 
- Nginx 
- SSL 

la questione principale è come impostare correttamente SSL per questo? Ho cercato su Google molto e ancora non riesco a farlo funzionare. Ho un set up funzionante per http con unix sockets, ma questo è il massimo che ho potuto ottenere.

Sono presenti altre risposte, ma si tratta principalmente di frammenti di codice e non di un'intera configurazione.

+0

@ dm03514 I capisci che 'https' terminerà sul server proxy inverso' nginx 'pubblico. Il collegamento del tutorial è utile. Il blocco degli argomenti 'location/... proxy' si applica a 'uWSGI' sono quelli che devono essere sostituiti con gli argomenti' uwsgi'? –

risposta

11
server { 
    listen   80; 
    server_name  example.com; 
    rewrite ^/(.*) https://example.com/$1 permanent; 
} 

server { 
    listen   443 ssl; 
    server_name  example.com; 
    access_log  /var/log/nginx/example.com_access.log combined; 
    error_log  /var/log/nginx/example.com_error.log error; 

    ssl_certificate   /etc/nginx/ssl/example-unified.crt; 
    ssl_certificate_key  /etc/nginx/ssl/example.key; 

    location /static/ { 
     alias /webapps/example/static/; 
    } 

    location /media/ { 
     alias /webapps/example/media/; 
    } 

    location/{ 
     proxy_pass   http://localhost:8000/; 
     proxy_redirect  off; 

     proxy_set_header Host    $http_host; 
     proxy_set_header X-Real-IP   $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

} 

Questa è la configurazione di base nginx che lavorerà con SSL e inoltrerà le richieste di uwsgi in esecuzione sulla porta 8000 (è possibile modificare questo alla presa se si desidera).

Per le impostazioni SSL avanzate, verificare THIS.

+0

Non riesco a farlo funzionare. Hai già fatto questo set up per 'uwsgi + nginx + django + ssl' ?? In tal caso, potresti fornire un esempio di file 'uwsgi.ini'? Il tuo aiuto è molto apprezzato. Grazie –

+0

Nella nostra azienda usiamo uwsgi per eseguire Django, ma purtroppo non posso condividere il modello qui. Posso solo dirvi che il template di nginx è quasi identico a questo (questo è il mio personale). Non c'è alcuna differenza rispetto a uwsgi se si utilizza https o no, quindi il problema dovrebbe essere da qualche altra parte. Personalmente preferisco Gunicorn per l'esecuzione di Django (nella nostra azienda usiamo uwsgi solo perché le ultime versioni supportano i socket web). Avete qualche ragione per usare uwsgi? Posso darti un modello per far funzionare Gunicorn se vuoi. –

+0

Sì, ho bisogno di usare 'uwsgi' per lavorare con i socket web per il mio progetto corrente. Ho usato Gunicorn in passato e ho una versione funzionante con esso. Grazie per il vostro aiuto, spero di risolverlo nel prossimo giorno o giù di lì. –