【发布时间】:2020-05-10 05:30:59
【问题描述】:
这是我第一次在部署环境中部署应用程序,所以我是一个完整的初学者,我在一个实例上有一个 nginx 代理服务器(称为 server1),它的 IP 暴露在互联网上,它将请求路由到另一个服务器在托管我的 Django 应用程序的不同实例(称为 server2)上,server1 的 conf 文件如下所示:
`server{
server_name _;
location / {
proxy_pass_header Authorization;
proxy_pass http://10.156.0.4:80;
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_http_version 1.1;
proxy_set_header Connection “”;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
listen 443 ssl;
listen [::]:443 ssl;
include snippets/self-signed.conf;
include snippets/ssl-params.conf; }
server{
listen 80;
listen [::]:80;
server_name _;
return 302 https://35.246.244.220;}
和第二台服务器:
server{
listen 80;
listen [::]:80;
server_name _;
location / {
proxy_pass_header Authorization;
proxy_pass http://10.156.0.4:8880;
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_http_version 1.1;
proxy_set_header Connection “”;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
location /static/ {
alias /opt/app/mydjangoapp/staticfiles/;
autoindex off; }
}
我正在使用此命令 python manage.py runserver 0.0.0.0:8880 运行我的 django 应用程序,并且在运行该应用程序之前我也执行了 collectstatic。
当我将 server1 中的 proxy_pass 直接编辑为 http://10.156.0.4:8880 时,一切正常,但我需要第二个 nginx 服务器,以便为我的应用程序提供静态文件。
我觉得我在这里做了一些明显错误的事情,但对于我的生活,我无法弄清楚。
【问题讨论】:
标签: django nginx nginx-reverse-proxy nginx-config