Предполагая, что ваш gunicorn прослушивает порт 9991, вам необходимо настроить nginx для входящих запросов к нему.
Вот как вы это делаете:
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name _;
ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location /static {
alias /path/to/static/folder/of/application;
}
location / {
proxy_pass http://localhost:9991;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Примечания :
Первый блок кода прослушивает порт 80 для любого соединения и просто выполняет постоянное перенаправление на порт 443. Это необходимо для того, чтобы, если пользователь вводит http://example.com, это следует перенаправить на https://example.com
Теперь второй блок прослушивает порт 443 для защищенных соединений с ключами, настроенными ниже, и, по существу, направляет запрос к порту 9991, где работает ваш оружейный.
Pro-tip: Я добавил дополнительный блок location /static
, который в основном соответствует любому запросу с /static
в нем и обслуживает его из папки stati c вашего приложения. Файлы stati c, такие как изображения, таблицы стилей и т. Д. c, не должны обслуживаться сервером приложений, в идеале они должны обслуживаться веб-сервером, например nginx.
.