У меня есть приложение Angular, обслуживаемое OpenShift, и мне нужно перенаправить вызовы на разные микросервисы, работающие в одном кластере без внешних конечных точек.
Когда в моей конфигурации есть местоположение с регулярным выражением для прокси с использованием захваченной группы, я получаю сообщение об ошибке, говорящее, что для app-name.appnamespace.svc.cluster.local
server {
listen 8081;
default_type text/html;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location ~ ^/api/(.*)$ {
proxy_pass http://app-name.appnamespace.svc.cluster.local:8099/$1;
}
}
Однако, когда я удаляю регулярное выражение, оно проходит без заминки.
server {
listen 8081;
default_type text/html;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location /api/ {
proxy_pass http://app-name.appnamespace.svc.cluster.local:8099;
}
}
Проблема в том, что мы не хотим добавлять /api/
во всех наших микросервисах, но хотелось бы просто использовать маршруты, которые имеют логический смысл с точки зрения успокоения.