Django+docker+nginx+uwsgi部署项目时,项目部署完成后,访问Django admin后台登录时报错:
http://xxxx/admin/login/?next=/admin/ 请求方法: POST 状态代码: 403 Forbidden
然后百度发现的解决办法如下:
前面的方法都尝试过了,没有作用。然后最后一篇文章中的方法4解决了我的问题。
解释是这样的:
如果您的Django站点后面有代理服务器(如Nginx或Apache),请确保代理正确设置了HTTP头信息,如X-Forwarded-Proto
所以我们在nginx配置文件中这么写:
location / {
# 转发所有请求到 djangoenv 容器的根路径
proxy_pass http:xxxx/;
# 设置必要的头部信息
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_set_header X-Forwarded-Proto $scheme;
}
欧克,解决问题。