Назад | Перейти на главную страницу

Базовая конфигурация Nginx с django на EC2:

Я хочу настроить свое dockerized приложение django с помощью nginx и запустить его на экземпляре EC2, но я не могу заставить его работать. Я новичок в nginx.

Моя ошибка, когда я делаю docker-compose -f production.yml up является:

клиент отправил неверный метод при чтении строки запроса клиента, клиент: 80.153.184.19, сервер: ec2-XXXXX.eu-central-2.compute.amazonaws.com, запрос: "�U�F'��Io�q� +! �P��

И мне нравится, что? Нет ли какой-либо базовой конфигурации для бесперебойной работы?

Моя конфигурация nginx myconf:

server {

    set $my_host $host;
    if ($host ~ "\d+\.\d+\.\d+\.\d+") {
        set $my_host "ec2-XXXXX.eu-central-2.compute.amazonaws.com";
    }

    listen 80;
    server_name ec2-XXXXX.eu-central-2.compute.amazonaws.com;
    charset utf-8;
    error_log /dev/stdout info;
    access_log /dev/stdout;

    location / {
        proxy_pass http://django:5000;
        proxy_set_header Host $my_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}

Мой docker-compose:

version: '3'

#volumes:
#  production_caddy: {}

services:
  django:
    build:
      context: .
      dockerfile: ./compose/production/django/Dockerfile
    image: heatbeat_website_production_django
    env_file:
      - ./.envs/.production/.django
      - ./.envs/.production/.postgres
    command: /start

  nginx:
    build:
      context: .
      dockerfile: ./compose/production/nginx/Dockerfile
    ports:
      - "0.0.0.0:8080:80"
    depends_on:
      - django

  redis:
    image: redis:5.0

мой файл докеров для nginx:

FROM tutum/nginx
RUN rm /etc/nginx/sites-enabled/default
COPY ./compose/production/nginx/myconf.conf /etc/nginx/sites-enabled/default

Я очень благодарен за любую помощь ... Я так застрял ... Заранее спасибо!