У меня проблемы с работой SSL для сайта на основе python / gunicorn, который отлично работает на порту 80. Я использую proxy_pass
для отправки трафика в апстрим.
Шаги, выполненные на данный момент
/etc/ssl
. Три файла в комплекте: domain.crt
, domain.key
, incommon.crt
domain.chain.crt
с помощью cat domain.crt incommon.crt > domain.chain.crt
775
разрешения и такое же право собственности, что и мой sites-available
config для всех 4 файлов. Создал следующую конфигурацию под sites-available
:
server {
listen 80;
server_name <subdom.domainname.com>;
location / {
include proxy_params;
proxy_pass https://unix:/var/www/developmentfolder/sandbox.sock;
proxy_ssl_certificate /etc/ssl/domain.chain.crt;
proxy_ssl_certificate_key /etc/ssl/domain.key;
}
}
вопросы
Я не могу получить доступ к сайту сейчас ни для 80, ни для 443. Журнал ошибок Nginx ничего не показывает, и файл журнала для gunicorn
. Проверка синтаксиса Nginx проходит каждый раз. Я здесь что-то делаю не так?
Версия Nginx - 1.10.3
Ты делаешь что-то не так. Вы говорите, что хотите, чтобы https работал, но настраиваете порт 80 для использования локального сокета по протоколу https. Я даже не уверен, что это можно сделать, но это позволит зашифровать соединение между nginx и gunicorn через файловый сокет unix-домена. Это не повлияет на соединение между браузером и вашим веб-сервером.
Если все, что вам нужно, - это сделать свой сайт доступным по https, почему бы не подписаться официальное руководство и делать более сложные вещи, когда это работает.
Если у вас это работает, и если вы серьезно относитесь к шифрованию соединения между веб-сервером и gunicorn, то я бы не стал использовать сокеты домена unix, а использовал Конфигурация SSL и HTTPS-соединение.