当远程 REST API 是 HTTPS 时是否需要 HTTPS 选项?

Is HTTPS option required when a remote REST API is HTTPS?

我想让我的 Bluemix 应用程序 (Liberty) 访问 SSL 中提供的远程 REST API。我需要使用网关的"TLS Mutual Auth option"。但是现在为了确定在 SSL 中提供远程 REST API 时我是否必须使用 "HTTPS option",我测试了两种情况,HTTPS 和 TLS Server Auth。 HTTPS 案例导致成功,TLS 服务器身份验证导致失败。

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

1. HTTPS 选项:成功
这个案例成功了。

2。 TLS 服务器身份验证选项:失败
本案以失败告终。 我刚刚将网关的选项从 "HTTPS" 更改为 "TLS Server Auth",所以原因不是 mis-configuration.

[Bluemix Liberty application's log]
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: Requested route ('cloudhost:cloudport') does not exist.

[SG Client's log]
[2015-06-30 02:37:38.144] [INFO] Connection #32 is being established to remote REST API's host:443 [2015-06-30 02:37:38.227] [INFO] Connection #32 established to remote REST API's host:443 [2015-06-30 02:37:52.535] [INFO] Connection #32 to remote REST API's host:443 was closed

回应你的这一部分post:

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

下面的 link 提供了有关在 Bluemix UI 中保护网关的更多信息:

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

回应你的这一部分post:

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

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

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

的完整安全性

有关访问安全网关的更多信息,请参阅下面的link:

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