2017-08-26 104 views
1

我试图通过使用安全网关基本上使内部提供的一个Watson服务。它对基本的HTTP流量工作正常,但我不确定如何在API端点上配置例如Watson对话服务的HTTPS流量“https://gateway.watsonplatform.net/conversation/api/v1通过安全网关的HTTPS

我已将服务中的目标配置为: 网关。 watsonplatform.net,目标端口443和客户端侦听端口6554 - 协议HTTPS。 通过邮差连接简单地产生在我的客户,以下虽然使用标准的基本身份验证从服务Bluemix凭据:

[2017-08-26 12:51:01.626] [INFO] (Client ID LilwbDOdR61_4Am) Connection #1 to gateway.watsonplatform.net:443 was closed 

我也试过配置协议是TCP,但是这会产生相同的结果。任何提示?

随着记录等级TRACE我得到: [2017年9月9日15:05:06.481] [DEBUG](客户端ID LilwbDOdR61_PlY)发送的反向目的地连接到服务器 [2017年9月9日15时05分: 06.833] [TRACE](客户端ID LilwbDOdR61_PlY)连接#1收到数据:361字节 [2017-09-09 15:05:07.285] [错误](客户端ID LilwbDOdR61_PlY)连接#1到目标gateway.watsonplatform.net: 443错误:错误:结束后写入 [2017-09-09 15:05:07.289] [DEBUG](Client ID LilwbDOdR61_PlY)Connection#1 to gateway.watsonplatform.net:443已经结束 [2017-09-09 15:05:07.289] [信息](客户端ID LilwbDOdR61_PlY)连接#1到gateway.watsonplatform.net:443已关闭 [2017-09-09 15:05:07.290] [DEBUG](客户端ID LilwbDOdR61_PlY)合闸连接和从阵列 去除[2017年9月9日15:05:07.291] [DEBUG](客户端ID LilwbDOdR61_PlY)clearConnectionArray:0

+0

你可以增加loglevel改为'TRACE'并添加日志连接尝试?如果您使用HTTPS发生错误,我认为它与请求应用程序和SG客户端之间的连接上的证书错误有关。 SG客户端默认拥有自签名证书,可能需要添加到您的请求应用程序的CA. –

+0

添加TRACE级别 – ThomasBPG

+0

跟踪日志显示在套接字关闭后尝试写入的连接上传递的数据的时序问题('write write end')。此客户端版本是1.8.0fp2还是早期版本? –

回答

2

托马斯,我已经成功使用做出通话服务的连接安全网关。

  1. 对于用户/应用程序协议,使用TCP
  2. 对于目的地侧的认证中,选择“目的地侧”,没有必要上传任何证书。

配置屏幕看起来就像这样: enter image description here

最后,要求必须使用HTTP,而不是HTTPS进行,这是因为你离开了安全连接到由安全管理网关服务器。

您可以测试这样的要求:curl -X POST 'http://localhost:10001/conversation/api/v1/workspaces/<YOUR_WORKSPACE_ID>/message/?version=2017-05-26' -H 'authorization: Basic <ENCODED_CREDENTIALS>' -H 'cache-control: no-cache' -H 'content-type: application/json' -d '{"input": {"text": "hello"}}'

+0

虽然我的目的地是在本地,但我的答案也是如此。 –