django - 子域上的 Django + Nginx 错误请求 400
问题描述
我需要将应用程序部署到子域。app.mysite.com 的 DNS A 记录具有机器值。mysite.com 的记录有不同计算机的 ip。堆栈:Nginx、Django、Gunicorn。
Nginx 在 IP 上运行良好,但在子域上调用 400。
我试过添加 proxy_set_header 值
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
但这无济于事。
- nginx/sites-enabled/mysite :(如果我更改 server_name ti IP 它很好)
server {
listen 80;
server_name app.mysite.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/user/mysite;
}
location / {
proxy_set_header Host $host;
include proxy_params;
proxy_pass http://unix:/home/user/mysite.sock;
}
}
- 设置.py
ALLOWED_HOSTS = [ip of machine,'127.0.0.1', 'app.mysite.com','mysite.com']
我希望应用程序仅在子域中工作。我怎样才能实现它?
可能有用的最后一个 Nginx 进程日志
Aug 10 21:23:59 my-machine systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 10 21:23:59 my-machine systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Aug 10 21:23:59 my-machine systemd[1]: Started A high performance web server and a reverse proxy server.
Aug 10 21:25:09 my-machine systemd[1]: Stopping A high performance web server and a reverse proxy server...
Aug 10 21:25:09 my-machine systemd[1]: Stopped A high performance web server and a reverse proxy server.
解决方案
经过数小时的测试和配置后,子域开始
sudo systemctl restart gunicorn
在 /etc/systemd/system
推荐阅读
- r - 显示具有 0 group_by dplyr 的组
- octave - 如何在 Octave 中创建带边框的表格?
- php - PHP 没有将正确的数据传递给 MYSQL
- python - 在 Python 中比较相同 CSV 文件的两个版本 - 出现错误
- r - 用先前记录的平均值和当前值替换负值
- spring-boot - swagger-ui和springboot有问题
- ios - 使用 cordova cli 生成 xcarchive 文件
- nginx - nginx 服务失败(结果:退出代码) nginx.service 的作业失败
- opengl - 投影矩阵:深度映射到什么?
- spring - 使用 Unroll 时 Spring-Boot 和 Spock 失败