#amazon-web-services #docker #ssl #jboss #keycloak
#amazon-веб-сервисы #докер #ssl #джбосс #скрытый ключ
Вопрос:
В настоящее время у меня есть сервер AWS, настроенный с помощью docker для запуска контейнера docker Keycloak. Для SSL / TLS существует балансировщик нагрузки AWS, настроенный для направления трафика https / 443 в контейнер и получения им его через 8080, прерывая шифрующее соединение на указанном балансировщике нагрузки.
При создании контейнера с помощью следующей команды я могу перейти к сервису keycloak и войти в него, перейдя по IP-адресу сервера. docker run --name keycloak -v keybase-storage -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=TempAdminPassword jboss/keycloak
Однако, если я пытаюсь войти на сервер, перейдя по URL-адресу, я перенаправляюсь на URL http://default-host:8080/auth/admin/
-адрес, а браузер отображает страницу ошибки подключения.
Пытаясь найти решение этой проблемы, я нашел, как передать параметры Java в контейнер при его первом запуске, и, используя ресурсы с этой страницы, я использовал следующую команду для запуска контейнера (URL заменен из соображений конфиденциальности) docker run --name keycloak -v keybase-storage -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=TempAdminPassword -e JAVA_OPTS_APPEND="-Dkeycloak.frontendUrl=https://sso.IntendedURL.com" jboss/keycloak
, однако это дает те же результаты при попытке перейти на следующую страницу.страница.
Основная подсказка, от которой я должен отказаться прямо сейчас, — это строка в конце ранее показанного docker run command
, которая гласит::
19:23:00,039 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 67) WFLYUT0021: Registered web context: '/auth' for server 'default-server'
Что, я полагаю, мне нужно сделать сейчас, так это либо изменить конфигурацию контейнера docker после его создания (не удалось отредактировать файлы с помощью docker exec
, так что это менее вероятно), либо передать параметр Java в run
команду при первом запуске контейнера.
Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы или если я могу предоставить какую-либо другую информацию.
Спасибо.
Информация об окружающей среде:
- Операционная система
- Amazon Linux 2
- Версия Docker
- 19.03.13-ce, сборка 4484c46
- Версия Скрытого ключа
- 12.0.1 (Ядро WildFly 13.0.3.Финал)
Комментарии:
1. Не очевидно, в чем проблема и какова ваша конфигурация AWS. Предположение вслепую (я надеюсь, что AWS в порядке, например. sec. groups, конфигурации TLS, ALB, …): прочитайте
Enabling proxy address forwarding
раздел из используемого образа Docker readme.2.Казалось бы, решением было бы установить следующие теги при первом запуске / создании контейнера:
KEYCLOAK_FRONTEND_URL=https://sso.IntendedURL.com"/auth
PROXY_ADDRESS_FORWARDING=true
это, похоже, сработало, позволив нам войти на сервер и позволить нам перемещаться. Однако, когда я перехожу к настройке электронной почты для учетной записи администратора, перейдя наmanage accounts
страницу, меня снова приветствует страница дляhttps://default-host::8080/auth/realms/master/account
и так далее.3. Даже у меня такая же проблема, пожалуйста, дайте мне знать, смогли ли вы в любом случае устранить проблему, войдя в контейнер