Nginx + Gunicorn问题,让我们加密证书

时间:2020-01-12 15:43:22

标签: django ssl nginx gunicorn lets-encrypt

我对Nginx + Gunicorn提供的Django应用程序有问题:在HTTP中配置它可以正常工作;使用“让我们加密”安装并请求SSL证书并更改配置后,对应用程序的请求超时。

这是我正在使用的配置:

套接字

[Unit]
Description=Gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target

系统服务

[Unit]
Description=Gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=user
Group=user
WorkingDirectory=/var/www/application
ExecStart=/var/www/application/venv/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          DjangoApp.wsgi:application

[Install]
WantedBy=multi-user.target

Nginx配置

upstream app_server {
    server unix:/run/gunicorn.sock fail_timeout=0;
}
server {
    listen 443 ssl;
    server_name example.com;

    access_log /var/log/nginx/example.access.log;
    error_log /var/log/nginx/example.error.log;

    location /static {
        alias /var/www/application/static;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://app_server;
    }

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

}
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

我还试图禁用防火墙,以为这可能是网络问题,但它总是给我同样的错误。

我已经阅读了其他几个答案,但没有一个能给我解决方案。

任何帮助都倍受赞赏。

谢谢。

0 个答案:

没有答案