2015-04-23 22 views
11

Czy ktoś ma działającą konfigurację dla tych czterech?Django + uWSGI + Nginx + SSL - żądanie konfiguracji roboczej (nacisk na SSL)

- Django 
- uWSGI 
- Nginx 
- SSL 

Głównym pytaniem jest, jak prawidłowo skonfigurować do tego SSL? Często googlowałem i nadal nie mogę go uruchomić. Mam działający zestaw dla http z unix sockets, ale jest to tak daleko, jak mogłem dostać.

Istnieje kilka innych opublikowanych odpowiedzi, ale są to głównie fragmenty kodu, a nie cała konfiguracja.

+0

@ dm03514 I zrozum, że 'https' zakończy się na publicznym" odwrotnym serwerze proxy 'nginx". Pomocny jest tutorial. Czy blok argumentów 'location/... proxy' stosuje się do' uWSGI', czy trzeba je zastąpić argumentami 'uwsgi'? –

Odpowiedz

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; 
    } 

} 

Jest to podstawowa konfiguracja nginx, że będzie współpracować z SSL i przekazuje wnioski do uwsgi działa na porcie 8000 (można to zmienić do gniazda, jeśli chcesz).

Aby zapoznać się z zaawansowanymi ustawieniami SSL, należy sprawdzić: THIS.

+0

Nie mogę tego uruchomić. Czy zrobiłeś już tę konfigurację dla 'uwsgi + nginx + django + ssl' ?? Jeśli tak, czy mógłbyś podać przykładowy plik 'uwsgi.ini'? Twoja pomoc jest bardzo ceniona. Dzięki –

+0

W naszej firmie używamy uwsgi do uruchamiania Django, ale niestety nie mogę udostępnić szablonu tutaj. Mogę ci tylko powiedzieć, że szablon nginx jest prawie identyczny z tym (to jest mój osobisty). Nie ma różnicy odnośnie uwsgi, jeśli korzystasz z protokołu https lub nie, więc problem powinien być gdzie indziej. Osobiście wolę Gunicorn za prowadzenie Django (w naszej firmie używamy uwsgi tylko dlatego, że najnowsze wersje obsługują gniazda sieciowe). Czy masz jakiś powód do używania uwsgi? Mogę ci dać szablon do prowadzenia Gunicorn, jeśli chcesz. –

+0

Tak, potrzebuję użyć 'uwsgi' do pracy z gniazdami sieciowymi dla mojego obecnego projektu. Używałem Gunicorn w przeszłości i mam z nim działającą wersję. Dziękuję za pomoc, mam nadzieję rozwiązać to już następnego dnia. –