Задать вопрос
@plavsk

Один домен и несколько приложений в докере как сделать реверс прокси nginx?

Помогите настроить nginx
Есть несколько контейнерезированых приложений приложений висящих в докере на одной машине но на разных портах.
Каждое приложение по отдельности работает на разных портах

Хочу следующую схему работы
domain.ru /app1
domain.ru/v1 --/app2
domain.ru/v3 --/app3

Конфиг

location / {
        if ($request_method !~ ^(OPTIONS|GET|HEAD|POST|PUT|DELETE|TRACE|CONNECT|PROPFIND|PROPPATCH|MKCOL|COPY|MOVE|LOCK|UNLOCK|VERSION-CONTROL|REPORT|CHECKOUT|CHECKIN|UNCHECKOUT|MKWORKSPACE|UPDATE|LABEL|MERGE|BASELINE-CONTROL|MKACTIVITY|ORDERPATCH|ACL|SEARCH|MKCALENDAR|PATCH)$) {
            return 405;
        }
        proxy_set_header Host $http_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_read_timeout 300s;
        proxy_send_timeout 300s;
        client_max_body_size 1024m;
        proxy_connect_timeout 1s;
        proxy_redirect off;
        {#- it's allways eth0 interface in VM #}
        proxy_pass http://127.0.0.1:3000;
    }
    
    location /education {
        if ($request_method !~ ^(OPTIONS|GET|HEAD|POST|PUT|DELETE|TRACE|CONNECT|PROPFIND|PROPPATCH|MKCOL|COPY|MOVE|LOCK|UNLOCK|VERSION-CONTROL|REPORT|CHECKOUT|CHECKIN|UNCHECKOUT|MKWORKSPACE|UPDATE|LABEL|MERGE|BASELINE-CONTROL|MKACTIVITY|ORDERPATCH|ACL|SEARCH|MKCALENDAR|PATCH)$) {
            return 405;
        }
        proxy_set_header Host $host;
        proxy_set_header X-Scheme https;
        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;
        # WS settings
        proxy_http_version 1.1;
        proxy_read_timeout 900s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        {#- it's allways eth0 interface in VM #}
        proxy_pass http://127.0.0.1:9000;
    }


Но это работает частично, ре работают стили он ищет их ищет в app1 не работает вхождение в подкаталоги app2
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
vasilyevmn
@vasilyevmn
DevOps
Я понимаю, что ответ не совсем по теме, но именно из-за похожих причин я отказался от nginx в качестве реверса.
Устал настраивать.

Советую traefik, день потратите на изучение и забудете эти конфиги как страшный сон:
https://habr.com/ru/post/508636/
Ответ написан
Ваш ответ на вопрос

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

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