为什么 WSO2 API 管理器在获取令牌时提示主机名验证失败?
Why WSO2 API Manager gives Hostname verification failed while getting the token?
我在 docker 容器上有一个 WSO2 身份服务器 运行,我的 API-Manager 配置为使用它作为密钥管理器。 API 经理也在 docker 上 运行。
当我尝试在 Postman 中获取令牌时,我将此 https://myhost.com:8243/token?grant_type=client_credentials
称为 base64 编码的“client_id:secret”,它给了我这个异常:
[2021-04-27 17:13:21,704] ERROR - TargetHandler I/O error: Host name verification failed for host : is.com javax.net.ssl.SSLException: Host name verification failed for host : is.com
另外 [apim.key_manager] 配置如下:
[apim.key_manager]
service_url = "https://is.com:9442/services/"
username = "$ref{super_admin.username}"
password = "$ref{super_admin.password}"
type = "WSO2-IS"
“is.com”是我的身份服务器容器的域。
我不知道为什么会这样,而且 apim 中禁用了 HostNameVerification。
我该如何解决?
谢谢。
我猜你没有在 Synapse 级别禁用主机名验证。这可以使用 deployment.toml
中的以下配置来完成
[transport.passthru_https.sender.parameters]
HostnameVerifier = "AllowAll"
推荐的方法是使用正确的主机名。为此,您可以使用 DNS 条目。
我在 docker 容器上有一个 WSO2 身份服务器 运行,我的 API-Manager 配置为使用它作为密钥管理器。 API 经理也在 docker 上 运行。
当我尝试在 Postman 中获取令牌时,我将此 https://myhost.com:8243/token?grant_type=client_credentials
称为 base64 编码的“client_id:secret”,它给了我这个异常:
[2021-04-27 17:13:21,704] ERROR - TargetHandler I/O error: Host name verification failed for host : is.com javax.net.ssl.SSLException: Host name verification failed for host : is.com
另外 [apim.key_manager] 配置如下:
[apim.key_manager]
service_url = "https://is.com:9442/services/"
username = "$ref{super_admin.username}"
password = "$ref{super_admin.password}"
type = "WSO2-IS"
“is.com”是我的身份服务器容器的域。
我不知道为什么会这样,而且 apim 中禁用了 HostNameVerification。
我该如何解决?
谢谢。
我猜你没有在 Synapse 级别禁用主机名验证。这可以使用 deployment.toml
中的以下配置来完成[transport.passthru_https.sender.parameters]
HostnameVerifier = "AllowAll"
推荐的方法是使用正确的主机名。为此,您可以使用 DNS 条目。