Я запускаю контейнер nginx sudo docker run --name some-nginx -d -p 8030:8030 --rm -v /home/username/nginx_test/nginx.conf:/etc/nginx/nginx.conf:ro nginx:1.15.8alpine
/ home / username / nginx_test / nginx.conf:
user nginx;
worker_processes auto;
error_log /dev/null;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Gzip Settings and client, log settings
##
server {
listen 8030;
set $port_endpoint http://127.0.0.1:8080;
location / {
proxy_pass $port_endpoint;
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-NginX-Proxy true;
proxy_redirect off;
}
}
}
Вкл. http://127.0.0.1:8080,есть докерский контейнер проекта django.
Он запускается по типу: sudo docker run --name some-nginx -d -p 8080:8080 --rm some/django:0.1
и
Имеет файл uwsgi:
[uwsgi]
chdir = /smaple_django
wsgi-file = /smaple_django/smaple_django/wsgi.py
master = true
processes = 10
http = :8080
vacuum = true
max-requests = 1000
harakiri = 10
enable-threads = true
lazy-apps = true
single-interpreter = true
Этохорошо работает индивидуально, так что мой браузер на http://127.0.0.1:8080(django контейнер), он показывает на первой странице django.
Но когда я захожу на http://127.0.0.1:8030 в моем браузере, он показывает 502 неверных шлюза на nginx.Я думаю, что он должен быть подключен к http://127.0.0.1:8080 этими nginx.conf линиями:
server {
listen 8030;
set $port_endpoint http://127.0.0.1:8080;
location / {
proxy_pass $port_endpoint;
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-NginX-Proxy true;
proxy_redirect off;
}
}
Кажется, что в контейнере nginx и контейнере django есть некоторые ошибки.
Где я допустил ошибку?Как я могу решить это?