docker-compose、nginx、gunicorn 和 SSL

docker-compose、nginx、gunicorn 和 SSL

我正在尝试使用 SSL 设置 django 项目。我可以在不使用 SSL 的情况下运行它,但我显然做错了什么,因为 https:// 不起作用,而 http:// 只会重定向到主 nginx 站点。

这是我的docker-compose文件:

version: '3.2'

services:
  immweb:
    restart: always
    build: .
    command: gunicorn smn_imm.wsgi:application --bind 0.0.0.0:8000
    volumes:
        - /static:/static
        - /var/log/imm:/var/log/imm

  nginx:
    build: nginx
    depends_on:
      - immweb
    ports:
     - "80:80"
     - "443:443"
    volumes:
      - ./static/:/static/
      - /etc/nginx/:/etc/nginx/

这是我的 nginx.conf

server {
    listen 80;
    server_name smn-imm;
}
server {

    listen 443;
    ssl on;
    server_name smn-imm;
    ssl_certificate      /etc/nginx/server.crt;
    ssl_certificate_key  /etc/nginx/server.key;

    location / {
        proxy_pass http://immweb:8000;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP   $remote_addr;
        #proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_redirect off;
    }

    location /static/ {
    autoindex on;
    alias /static/;

    }    
}

我寻求指导的每个网站都采用完全不同的方式,所以我不确定“正确”的方式是什么。

相关内容