Как получить доступ к Keycloak по подпутью с входом nginx? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть nginx входной контроллер в моем кластере EKS вместе с keycloak. Я попытался открыть его на подпутье (myhost.com/keycloak), но он не работает, поэтому после нескольких исследований я обнаружил, что должен добавить этот env переменная для развертывания keycloak: PROXY_ADDRESS_FORWARDING = true , и теперь я могу получить к нему доступ только через myhost.com/auth. Есть ли способ настроить этот путь к чему-то вроде myhost.com/keycloak

Вот мой ресурс Ingress:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: "keycloak-ingress"
  annotations:
    kubernetes.io/ingress.class: nginx
  labels:
    app: keycloak-ingress
spec:
  rules:
    - host: myhost.com
      http:
        paths: 
          - path: /auth
            backend:
              serviceName: keycloak
              servicePort: 8080

1 Ответ

1 голос
/ 11 мая 2020

Управляющая подсистема документация по конфигурации говорит:

Низкоуровневая настройка Keycloak выполняется путем редактирования автономного. xml, автономного-га. xml, или файл domain. xml в вашем дистрибутиве. Местоположение этого файла зависит от вашего режима работы.

Несмотря на то, что вы можете настроить бесконечное количество параметров, этот раздел будет посвящен настройке подсистемы keycloak-server. Независимо от того, какой файл конфигурации вы используете, конфигурация подсистемы keycloak-server одинакова.

Подсистема keycloak-server обычно объявляется в конце файла следующим образом:

<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
   <web-context>auth</web-context>
   ...
</subsystem>

Обратите внимание, что любые изменения в этой подсистеме не вступят в силу, пока сервер не будет перезагружен.

Это приводит к тому, что точка входа по умолчанию: http://localhost: 8080 / auth .

, и теперь я могу получить к нему доступ только через myhost.com/auth

Вы можете настроить свою конфигурацию в standalone.xml и замените auth на keycloak. Кроме того, необходимо будет настроить path в ingress.yaml.

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

...