Невозможно получить доступ к странице Консоли администрирования с помощью ключевого ключа за Kong Ingress Controller - PullRequest
0 голосов
/ 07 мая 2019

У меня есть Keycloak за Kong Ingress Controller. Я могу видеть страницу приветствия keycloak в моем {url} / auth /. Однако, когда я нажимаю на Консоль администрирования, меня перенаправляют на {url}: 8443 / auth / admin / master / console /

Когда я нажимаю на Консоль администрирования, я должен перенаправить на {url} / auth / admin / master / console /

Когда я устанавливаю keycloak (со штурвалом) на minikube, открывая сервис как сервис NodePort без использования входа и балансировщика нагрузки, я могу получить доступ к странице Консоли администрирования.

Подробную информацию об этой проблеме можно найти по этой ссылке -> https://github.com/codecentric/helm-charts/issues/17

Я застрял в этом и не знаю, как решить проблему.

1 Ответ

1 голос
/ 07 мая 2019

Я сталкивался с этой проблемой, может быть, год назад, я помню это глупое перенаправление, но я не использовал Kong Ingress Controller, просто обычный Kong. Проблема, с которой я столкнулся, заключается в том, что Kong работает как непривилегированный пользователь и не может привязываться к небольшим портам. Таким образом, Конг связывается с 8443 ssl и устанавливает тупое перенаправление с 443 на 8443. Обычно я не мог это исправить и заново изобрел колесо.

Я использовал порты 80 и 443 для Конга:

    ports:
    - name: kong-proxy
      containerPort: 80
    - name: kong-proxy-ssl
      containerPort: 443
    - name: kong-admin
      containerPort: 8001
    - name: kong-admin-ssl
      containerPort: 8444

Затем определены новые порты и возможности:

securityContext:
  capabilities:
    add:
    - NET_BIND_SERVICE
env:
  - name: KONG_PROXY_LISTEN
    value: 0.0.0.0:80, 0.0.0.0:443 ssl
  - name: KONG_ADMIN_LISTEN
    value: 0.0.0.0:8001, 0.0.0.0:8444 ssl

После этого этот тупой редирект исчез.

Надеюсь, это поможет.

UPDATE

Извините, забыл упомянуть, что для работы портов 80 и 443 я создаю собственный образ Docker с такими строками:

FROM  kong:1.1.1-centos
RUN chown -R kong:kong /usr/local/kong \
    && setcap 'cap_net_bind_service=+ep' /usr/local/bin/kong \
    && setcap 'cap_net_bind_service=+ep' /usr/local/openresty/nginx/sbin/nginx
...