AWS w/nginx重定向到docker容器;502号通道坏了



设置是RHEL AWS实例。在这个实例中,nginx已经安装并正常工作。这意味着,如果我去http://[根]我得到的html在nginx文件夹,我应该。如果我去http://[root]/[sub1]我也得到其他html在nginx文件夹中,我应该。

现在,http://[root]/[sub2]是docker容器中的django服务器。当运行服务器时,django应用正在监听http://127.0.0.1:8000。我的docker容器翻译:38000->:8000通过docker-compose.yml。我的nginx.conf文件看起来像这样:

server {
listen 80;
root /usr/share/nginx/html;
location / {}
location /test {
index text.html;
alias /usr/share/nginx/html;
}
location /mod {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://127.0.0.1:38000;
}
}

当root和/test (sub1)位置工作时,每当我去/mod (sub2)时,我得到一个502坏网关。

我docker-compose。yml(版本2)包含ports: 38000:8000。当我创建容器时,我使用docker-compose run --name mod mod

有什么建议吗?

在正常工作之前需要修复两件事。首先,proxy_pass应该是'http://localhost:38000';其次,我必须运行Django应用程序来收听0:8000(即python manage.py runserver 0:8000)。

仅使用runserverrunserver 0.0.0.0:8000不允许NGINX发送到docker容器

相关内容

最新更新