Как обойти указание заголовка "Host" для доступа к службам, указанным контроллерами Ingress?
Мой входной контроллер работает, и я могу получить доступ к службе за пределами кластера, используя http://(externalIP)/path
используя HTTP-запрос GET от RestClient. Тем не менее, я должен был указать "Host"
заголовок с value = "host"
(ценность моего входного ресурса) для этого, чтобы работать. Из-за этого я не могу ударить http://(externalIP)/path
из моего веб-браузера. Можно ли каким-либо образом разрешить доступ из внешнего веб-браузера без указания "Host"
в заголовке запроса?
Входной ресурс:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: master1.saas.com
http:
paths:
- backend:
serviceName: gen-devops
servicePort: 10311
path: /*
Входная служба:
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
externalIPs:
- 172.16.32.85
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
1 ответ
Я предполагаю, что вы хотите использовать это для тестирования.
Если вы используете любую *nix flavour OS (MacOS, Linux), вы можете добавить запись в свой /etc/hosts
файл, что-то вроде этого:
172.16.32.85 master1.saas.com
Если вы используете любую коробку Windows, вы можете добавить ту же запись в C:\Windows\System32\Drivers\etc\hosts