【发布时间】:2021-03-28 08:45:08
【问题描述】:
问题:鉴于运行 OpenAM 的服务器 URL 没有完全限定的主机名,如何在 OpenAM 中创建 Web 策略代理?
初始情况: 对于概念证明 (POC),我使用 docker 模拟服务器结构。我有一个 apache 网络服务器作为资源服务器(docker 容器),一个用于访问管理的 OpenAM docker 容器,以及一个在第三个容器中作为客户端运行的烧瓶 Web 应用程序。我通过 GUI 配置了 OpenAM。 到目前为止,我的烧瓶应用程序可以使用here 指定的简单请求来验证、请求和检索访问令牌。 但是现在我也想保护 apache 资源服务器。 开始时无需烧瓶,只需在 apache 网络服务器上安装 OpenAM Web 策略代理,并按照 this 官方 ForgeRock 指南在 OpenAM 中配置 Web 策略代理配置文件。
问题:
使用 GUI 在 OpenAM 中配置代理配置文件时,OpenAM 容器的域名 http://openam:8080/openam 不被接受为有效的服务器 URL。
如果我改用例如http://openam.local:8080/openam 错误不显示。
到目前为止我尝试了什么:
- 我添加了一个用作反向代理的 Nginx 容器,并使用它来将容器的主机名更改为
<container>.local。现在我可以到达容器,例如通过http://openam.local:8080/openam和http://apache.local:8080。 但是,当我现在使用http://openam.local:8080/openam访问 OpenAM GUI 时,输入默认密码,然后按Create Configuration配置失败并显示以下消息: - 无法解决 (1) 中的问题,我想我回忆了 Nginx 设置,而是尝试使用命令行配置代理配置文件 - 希望上述错误
Hostname of server URL is not fully qualified仅限于 GUI。对于通过命令行进行的设置,存在简单的命令./ssoadm create-agent ...作为描述here。但是ssoadm已被Amster弃用,我无法弄清楚如何使用Amster配置代理策略。
【问题讨论】:
标签: docker nginx hostname openam forgerock