我想让我的 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 已关闭