Nginx + Gunicorn на докере - PullRequest
       25

Nginx + Gunicorn на докере

0 голосов
/ 04 декабря 2018

Я настроил Nginx и Gunicorn с помощью Docker compose.Проблема в том, что когда я пытаюсь получить доступ к https://localhost:7778 на хост-машине, я просто получаю 502 Bad Gateway, который явно обслуживается Nginx.Я проверил, что это работает без Docker, поэтому я пришел к выводу, что я каким-то образом испортил конфигурацию Docker или не смог правильно адаптироваться к среде Docker.Файлы конфигурации можно найти ниже, и я надеюсь, что кто-то может найти ошибку.

docker-compose.yml:

version: '3'
    services:
  nginx:
    build: ./nginx/
    container_name: examplenginx
    ports:
      - "7777:7777"
      - "7778:7778"
    depends_on:
      - apiprovider
  apiprovider:
    build: ./apiprovider/
    container_name: exampleapiprovider
    expose:
      - "8888"

apiprovider / Dockerfile:

FROM debian:jessie
ADD requirements.txt /
ADD setup.sh /
ADD scheme.sql /
ADD utils.py /
ADD api.py /
RUN \
  apt-get update && \
  apt-get install -y python3 && \
  apt-get install -y python3-pip && \
  python3 -m pip install --upgrade pip setuptools wheel && \
  pip3 install -r requirements.txt && \
  ./setup.sh && \
  apt-get install -y sqlite3 && \
  sqlite3 users.db < scheme.sql

EXPOSE 8888

CMD ["python3", "./api.py"]

nginx / Dockerfile:

FROM debian:jessie

ADD nginxsett /
ADD service.crt /
ADD service.key /
ADD run.sh /

RUN \
  apt-get update && \
  apt-get install -y nginx && \
  cp nginxsett /etc/nginx/sites-enabled/ && \
  apt-get install openssl && \
  cp service.crt /etc/nginx && \
  cp service.key /etc/nginx

CMD ["nginx", "-g", "daemon off;"]

nginx / nginxsett

upstream apiprovider {
  server apiprovider:8888;
}

server {
        listen 7777;
        listen 7778 ssl;

        ssl on;
        ssl_certificate /etc/nginx/service.crt;
        ssl_certificate_key /etc/nginx/service.key;

        location / {
                proxy_pass http://apiprovider/;
                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;
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...