Несколько приложений Docker / nginx в одном контейнере openshift с использованием маршрутов - PullRequest
0 голосов
/ 01 февраля 2020

Я пытаюсь настроить контейнер openshift для размещения нескольких docker веб-приложений. Идея состоит в том, чтобы использовать настройку маршрутов openshift, чтобы выбрать правильное приложение. Например, я хотел бы иметь возможность выставлять следующие адреса:

https://server_name/  -> connects to default application
https://server_name/application1  -> connects to application1
https://server_name/application1/beta -> connects to beta version of application1
https://server_name/application2 -> connects to application2

Проблема в том, что теперь сервер nginx внутри приложения контейнера получает все запросы с этим префиксом пути вперед согласно маршрут, установленный на openshift.

Какое, по вашему мнению, лучшее решение? Я пытался построить docker образы, используя переменные среды, но это не выглядит лучшим решением.

Обновление 1 Я создал эту nginx конфигурацию:

server {
    listen 80;
    server_name default_server;

    location /beta/ {
        rewrite ^/beta/(.*) /$1 break;
        proxy_pass http://localhost:8070;
    }
}

server {
    listen 8070;
    server_name real_server;

    charset utf-8;
    location / {
        root /var/www;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        rewrite ^/api/(.*) /$1 break;
        proxy_pass http://localhost:5001;
    }
}

Проблема этого решения заключается в том, что index. html запрашивает ресурсы на локальном, а не локальном: 8070 или localhost / beta, поэтому, конечно, они не найдены.

...