бэкэнд по умолчанию - 404 без www (вход) - PullRequest
1 голос
/ 28 октября 2019
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 annotations:
  nginx.ingress.kubernetes.io/rewrite-target: /
  ingress.bluemix.net/rewrite-path: "serviceName=nginx rewrite=/"
 name: nginx-ingress 
 namespace: 'default'  
spec:
 rules:
 - host: www.domain.com
   http:
     paths:
     - path: /*
       backend:
         serviceName: nginx
         servicePort: 80

Здесь у меня есть входной файл конфигурации yaml. Когда я применяю все это работает правильно, но только когда вы идете по пути www.domain.com, когда я пытаюсь использовать domain.com, он не работает и возвращает мне

бэкэнд по умолчанию - 404

Что мне делать? Добавьте еще один хост к правилам:

 - host: domain.com
   http:
     paths:
     - path: /*
       backend:
         serviceName: nginx
         servicePort: 80

Вот так или я могу лучше решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 28 октября 2019

добавить аннотацию входного псевдонима в блок annotations:

nginx.ingress.kubernetes.io/server-alias:  domain.com
2 голосов
/ 28 октября 2019

Вы можете установить другое правило хоста для domain.com. Тем не менее, это больше подходит, если вы хотите использовать другие правила пути. Чтобы использовать те же правила, лучше установить аннотацию server-alias:

Позволяет определить один или несколько псевдонимов в определении сервера конфигурации NGINX с использованием аннотации. nginx.ingress.kubernetes.io/server-alias: "<alias 1>,<alias 2>". Это создаст сервер с такой же конфигурацией, но с добавлением новых значений в директиву server_name.

Используйте это:

nginx.ingress.kubernetes.io/server-alias: domain.com

Помните, чтоВы также можете настроить аннотацию from-to-www-redirect:

В некоторых случаях требуется перенаправление с www.domain.com на domain.com или наоборот. Чтобы включить эту функцию, используйте аннотацию nginx.ingress.kubernetes.io/from-to-www-redirect: "true"

...