3

我想让我的 Bluemix 应用程序 (Liberty) 访问 SSL 中提供的远程 REST API。我需要使用网关的“TLS Mutual Auth option”。但是现在为了弄清楚在 SSL 中提供远程 REST API 时是否必须使用“HTTPS 选项”,我测试了两种情况,HTTPS 和 TLS Server Auth。HTTPS 案例导致成功,TLS Server Auth 导致失败。

当远程 REST API 为 HTTPS 时,是否需要 HTTPS 选项才能在 SecureGatewayClient 重写 HTTP 标头?如果这是 collect ,我们不能用 TLS Mutual Auth 保护网关吗?

1. HTTPS选项:成功
本案例成功。

2. TLS Server Auth option: failure
这种情况导致失败。我只是将网关的选项从“HTTPS”更改为“TLS Server Auth”,所以原因不是配置错误。

[Bluemix Liberty 应用程序的日志]
2015-07-01T04:17:58.64+0900 [RTR] OUT sampleapp.mybluemix.net
[30/06/2015:19:17:49 +0000] "GET /XXX HTTP/1.1" 200
2015-07-01T04:17:58.66+0900 [App/0] OUT res:404 Not Found: 请求的路由 ( 'cloudhost:cloudport' ) 不存在。

[SG Client's log]
[2015-06-30 02:37:38.144] [INFO] Connection #32 正在建立到远程 REST API 的主机:443 [2015-06-30 02:37:38.227] [INFO] Connection # 32 建立到远程 REST API 的主机:443 [2015-06-30 02:37:52.535] [INFO] 到远程 REST API 的主机的连接 #32:443 已关闭

在此处输入图像描述

4

1 回答 1

1

针对您帖子的这一部分:

Is the HTTPS option required when a remote REST API is HTTPS in order to rewrite the HTTP header at SecureGatewayClient ?

是的,如果连接到 https 远程 rest api,则需要 HTTPS。此外,如果您要连接到后端 HTTPS 服务器,则需要启用客户端 TLS

以下链接提供了有关在 Bluemix UI 中保护网关的更多信息:

https://www.ng.bluemix.net/docs/services/SecureGateway/sg_022.html#sg_009

针对您帖子的这一部分:

Can't we protect the gateway with TLS Mutual Auth?

是的,您可以使用TLS:Mutual Auth,但您还需要上传自己的证书或选择自动生成以自动创建一个自签名证书/密钥对,您可以将其与服务器证书一起下载。

要使用通过选择 TLS:Mutual Auth 生成的证书,您还需要配置应用程序端 TLS 连接,可能还需要配置客户端 TLS 连接。在客户端和您的 REST API 之间启用 TLS 安全性与应用程序端 TLS 是分开的。应用程序端 TLS 保护您的示例应用程序和定义的安全网关客户端之间的访问。您可以使用独立于应用程序端 TLS 的客户端 TLS 连接,反之亦然,或者一起使用以提供从示例应用程序到 REST API 的完整安全性。

有关访问安全网关的更多信息,请参阅以下链接:

https://www.ng.bluemix.net/docs/services/SecureGateway/sg_023.html

于 2015-07-01T20:07:47.330 回答