Как обойти указание заголовка «Host» для доступа к службам, указанным контроллерами Ingress? - PullRequest
0 голосов
/ 30 октября 2018

Мой входной контроллер работает, и я могу получить доступ к службе вне кластера, используя 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 Ответ

0 голосов
/ 31 октября 2018

Полагаю, вы хотите использовать это для тестирования.

Если вы используете любую * nix flavour OS (MacOS, Linux), вы можете добавить запись в ваш файл /etc/hosts, например, так:

172.16.32.85 master1.saas.com

Если вы используете любую коробку Windows, вы можете добавить ту же запись в C:\Windows\System32\Drivers\etc\hosts

...