2016-10-25 2 views
-1

Итак, я пытаюсь заставить мое приложение django работать в контейнере Docker. Однако кажется, что я даже не близок к успеху ... Ошибка, которую я продолжаю получать: Вы получаете доступ к серверу разработки через HTTPS, но он поддерживает только HTTP.Docker Container для приложения Django с использованием uwsgi + nginx

И поскольку я использую MySql, я также использую docker-compose, чтобы связать 2 контейнера.

Сертификаты выполнены с использованием OpenSSL. Я довольно новыми для Nginx + uwsgi, но я много читал на нем, и все же я не смог заставить его работать на моем собственном ...

+0

- это разъем правильно? server unix: ///app/app.sock; # для файлового сокета с 3 косой чертой. ? – levi

+0

Ну, я использовал [nginx + uwsgi tutorials] (http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html), и там он был написан с тремя слэшами. – devdev

+0

Ошибка, которую вы получаете от nginx? – levi

ответ

1

Попробуйте добавить это в настройках Django:

SECURE_PROXY_SSL_HEADER = ('HTTP_X_PROXY_FORW_PROTO', 'https') 

и добавить это в вашем месте Nginx/{}:

proxy_set_header X-Proxy-Forw-Proto $scheme; 

Таким образом, Nginx может сказать Django запрос был HTTPS (причина Джанго не видит первоначальный запрос) и Django может работать правильно (подробнее here) ,

+0

У меня есть 'SECURE_PROXY_SSL_HEADER = (' HTTP_X_PROXY_FORW_PROTO ',' https ') 'в моем файле settings.py, и я добавил следующий код' proxy_set_header X-Forwarded-Proto $ schem; 'и' proxy_set_header X-Forwarded-Host $ server_name; 'в мою конфигурацию nginx через 10-15 минут после публикации Не работает. – devdev

+0

Используете ли вы одно и то же имя переменной в SECURE_PROXY_SSL_HEADER и proxy_set_header? – Yom86

+0

Возможно, это проблема. Как я могу проверить, есть ли у меня? – devdev

Смежные вопросы