NGINX входящий URL-адрес возврата 404, но конечная точка существует - PullRequest
0 голосов
/ 02 июля 2019

Добавление аннотации:

  annotations:
    nginx.ingress.kubernetes.io/auth-url: http://my-auth-service.my-api.svc.cluster.local:8080

... к моему правилу входа вызывает ответ 500 от контроллера входа (вход работает без него).

Служба существует, и яможет подключиться по ssh к входному контроллеру и выполнить его CURL, получив ответ:

curl http://my-auth-service.my-api.svc.cluster.local:8080 Создает ответ 200.

Я проверил журналы входного контроллера, но он сообщает, что служба вернула 404.Если я могу CURL на тот же URL, почему он возвращает 404?

2019/07/01 20:26:11 [error] 558#558: *443367 auth request unexpected status: 404 while sending to client, client: 192.168.65.3, server: localhost, request: "GET /mocks HTTP/1.1", host: "localhost"

Я не уверен, что нужно проверить, чтобы решить проблему.

1 Ответ

0 голосов
/ 02 июля 2019

Вот опции, которые вы должны проверить:

  1. Глобальная внешняя аутентификация

Согласно этой документации :

По умолчанию контроллер перенаправляет все запросы к существующей службе, которая обеспечивает аутентификацию, если в NGINX ConfigMap установлен глобальный-auth-url.Если вы хотите отключить это поведение для этого входа, вы можете использовать enable-global-auth: «false» в NGINX ConfigMap.nginx.ingress.kubernetes.io/enable-global-auth: указывает, должна ли конфигурация GlobalExternalAuth применяться или нет к этому правилу Ingress.Значения по умолчанию установлены на «истина».

Индикация имени сервера

Проверьте настройку proxy_ssl_server_name в nginx.Он указывает, использует ли HTTPS SNI или нет, и по умолчанию он имеет значение false.

Пожалуйста, дайте мне знать, если это помогло.

...