Я использую обратный прокси-сервер nginx с входящим объектом для маршрутизации своих запросов к модулю kubernetes.
При установленном ниже конфиге, когда я размещаю запрос к моему LB url 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
И нижеis 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 своему модулю.
Так что это работает, как и ожидалось, но единственная проблема заключается в том, что запросы get переписывают мой URL, я верю.п.