我正在尝试使用 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/;
}
}
我寻求指导的每个网站都采用完全不同的方式,所以我不确定“正确”的方式是什么。