Я использую обратный прокси-сервер nginx с объектом входа для маршрутизации моих запросов в модуль кубернетов.
С помощью приведенной ниже конфигурации, когда я размещаю запрос на свой URL-адрес LB http://myservices.myorg.com/jenkins
Мой запрос направляется на http://myservices.myorg.com/login?from=%2F Но я хочу, чтобы он перешел на http://myservices.myorg.com/jenkins/login?from=%2F
Итак, после того, как я вручную заменил на указанный выше правильный путь, все ресурсы, такие как css, js, отображаются с неправильным путем как http://myservices.myorg.com/static/beacae7e/css/simple-page.css
Но это должно быть http://myservices.myorg.com/jenkins/static/beacae7e/css/simple-page.css.
Точно так же после того, как я вошел в систему (я думаю, что метод http POST), он перейдет на домашнюю страницу (в браузере он изменится с http://myservices.myorg.com/jenkins/login на
http://myservices.myorg.com/jenkins
Но все ресурсы, отображаемые снова, имеют неправильный путь (без / jenkins) - http://myservices.myorg.com/static/beacae7e/css/layout-common.css
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myingress
spec:
rules:
- host: myservices.myorg.com
http:
paths:
- path: /jenkins
backend:
serviceName: jenkins
service port: 80
И ниже nginx.conf -
http {
server {
listen 80;
server_name ip-10-118-6-35.ec2.internal;
location /jenkins {
proxy_pass https://backend_nodes_jenkins/;
}
}
upstream backend_nodes_jenkins {
server 10.102.194.242:80;
}
}
Как вы можете видеть в nginx.conf выше, в proxy_pass у меня есть косая черта в конце URL-адреса, поскольку я не должен передавать / jenkins в свой модуль.
Итак, это работает, как ожидалось, но единственная проблема в том, что запросы на получение переписывают мой URL-адрес, я считаю. Пожалуйста помоги.