У меня есть VPS на Digital Ocean с Ubuntu 18.04, Nginx, Gunicorn, Django и тестовое веб-приложение, все настроено (ufw) для работы с http: 80. Все работает отлично. Учебник
Теперь я изменяю файл / sites-available / LibrosWeb , чтобы разрешить трафик SSL с самозаверяющим сертификатом, поскольку у меня нет домена. Учебник . Результат «Ошибка 502 Bad Gateway» .
Это исходный код, который хорошо работает с http: 80:
server{
#Configuracion http
listen 80;
listen [::]:80;
server_name 15.15.15.15;
location = /favicon.ico { access_log off; log_not_found off; }
location /robots.txt {
alias /var/www/LibrosWeb/robots.txt ;
}
location /static/ {
root /home/gela/LibrosWeb;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
А это код для разрешения SSL (ошибка 502):
server{
#Configuracion SSL
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 15.15.15.15;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location = /favicon.ico { access_log off; log_not_found off; }
location /robots.txt {
alias /var/www/LibrosWeb/robots.txt ;
}
location /static/ {
root /home/gela/LibrosWeb;
}
location / {
include proxy_params;
proxy_pass https://unix:/run/gunicorn.sock;
}
}
server{
#Configuracion http
listen 80;
listen [::]:80;
server_name 15.15.15.15;
return 302 https://15.15.15.15$request_uri;
}
UFW настроен как:
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
Файлы / etc / nginx / snippets / self-signature.conf и / etc / nginx / snippets / ssl-params.conf такие же, как в учебнике .
Я тестировал конфигурации в течение двух дней, и самое большее, что я мог получить, это то, что я работаю на полпути, то есть я могу показать страницу по умолчанию django, но не страницу моего приложения, если я добавлю код, подобный этому :
server{
#Configuracion http
listen 80;
listen [::]:80;
server_name 15.15.15.15;
return 302 https://15.15.15.15$request_uri;
location = /favicon.ico { access_log off; log_not_found off; }
location /robots.txt {
alias /var/www/LibrosWeb/robots.txt ;
}
location /static/ {
root /home/gela/LibrosWeb;
}
}
server{
#Configuracion SSL
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 15.15.15.15;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location / {
include proxy_params;
proxy_pass https://unix:/run/gunicorn.sock;
}
}
Что не так или чего не хватает?