Как прописать пути, что б в docker_compose что б работал редирект nginx?

Я хочу сделать обычный редирект из nginx и поместить это в доккер.
Как это можно сделать и как подключить nginx.conf?
Он имеет такой вид
upstream loadbalancer {
    server 127.0.0.1:4000
}

server {
    listen 80;
    server_name localhost;

    location / {
        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;

        proxy_pass: http://loadbalancer;
    };
}

docker_compose имеет такую секцию, но я не разберусь с путями.
nginx:
    image: nginx:alpine
    restart: always
    volumes:
      - ./nginx:/etc/nginx/conf.d:ro
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

В самом проекте есть папка nginx, где есть nginx.config, но это всё либо не запускается, либо пишет
nginx: [emerg] "upstream" directive is not allowed here in /etc/nginx/nginx.conf:1


Как запустить, что б nginx проксировал либо на приложения во внутренней сети доккер либо в наружной, как сейчас - при обращении на 80 порт, что б передавались данные с 4000 порта, на котором веб сервер?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
@damprog
events {
worker_connections 768;
}

http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

http добавить бы в конфу и да правильно сказали, надо выбрать что-то одно из
- ./nginx:/etc/nginx/conf.d:ro
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы