У меня есть следующая конфигурация в моем nginx:
location / {
if ($request_uri ~* ^/checkout/(dev-dist|dist|images|js|libs|resources|angular4-hybrid|bundle.js)) {
proxy_pass http://static-qa-uscentral1.company.com/hybrid/live$request_uri;
break;
}
}
Я пытаюсь воспроизвести это в виртуальной службе istio
Я написал следующую виртуальную службу, чтобы соответствовать этому регулярному выражению:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: routes-static
namespace: mui-relqa
spec:
gateways:
- my-gateway
hosts:
- "*"
http:
- match:
- uri:
regex: '^./checkout/(dev-dist|dist|images|js|libs|resources|angular4-hybrid|bundle.js).*$'
redirect:
authority: static-qa-uscentral1.company.com
uri: /hybrid/live
Несколько вещей, которые я бы хотел уточнить:
как использовать этот $ request_uri, используемый в конфигурации nginx для репликации в виртуальной службе
используя вышеупомянутый виртуальный сервис, он будет полностью перенаправлять вызовы на static-qa-uscentral1.company.com, о которых я упоминал в параметре полномочия в yaml «virtualservice».Как я могу добиться того, что nginx делает во время proxy_pass, который не изменяет URL, но по-прежнему получает содержимое перенаправленного URL.