ssl - 系统无法从 xxxx url 推断传输信息

标签 ssl https proxy esb wso2-esb

我一直在尝试使用 wso2 esb 配置简单的直通代理,它指向 https 端口中的 REST 服务。

我曾尝试使用我的开发机器 (Windows 7) 做同样的事情并且成功了。

但是当我尝试在生产服务器中重复相同的操作时,在 RHEL 中,我得到 The system cannot infer the transport information系统日志错误。

尝试过的事情

  1. 创建指向 https://some.domain.in/something/something 的直通代理服务.
  2. 尝试过 CURLhttps://some.domain.in/something/something并正确显示响应
  3. 将证书从站点导入到 client-truststore.jks。同样在本地完成并且有效。
  4. 在 axis2.xml 中,编辑了 <parameter name="HostnameVerifier">AllowAll</parameter>在 https 传输器下

错误信息

  1. test 中单击时在配置控制台中,我收到以下消息,地址无效

Invalid Address

  1. CURL代理服务 URL,并得到 Empty response

  2. 检查了系统日志并看到了以下日志 System Logs

我是不是漏掉了什么?

最佳答案

我可以在 wso2-error-logs 中看到以下消息

ERROR {org.apache.synapse.transport.passthru.TargetHandler} -  I/O
error: handshake alert:  unrecognized_name
javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name

然后我意识到我在本地使用 java 1.6 但在生产环境中使用 1.7。 在 Java 1.7 中,SSL 处理有一些变化

The JDK 7 release supports
the Server Name Indication (SNI) extension in the JSSE client. SNI,
described in RFC 4366 enables TLS clients to connect to virtual
servers.

为了绕过这个,我在 wso2server.sh 中添加了 JAVA_OPTS="-Djsse.enableSNIExtension=false" 并重新启动。

这解决了我的问题。 虽然不确定这是否是正确的方法

This url终于帮了我

关于ssl - 系统无法从 xxxx url 推断传输信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019564/

相关文章:

Node.js - 通过 HTTP 隧道的 FTP(通过 HTTP 代理的 FTP)

node.js - 使用 AWS Lambda 获取 url feed 的代理

wordpress - 无法在 Google Cloud Compute Engine 上运行 SSL 配置

php - AWS SSL 安全错误 : [curl] 60: SSL certificate prob. ..:无法获取本地颁发者证书

ssl - 如何生成证书签名请求 (CSR) 以在 GKE 中设置 TLS

iphone - iPhone 上的 SSL 问题

ssl - 无法通过 Fiddler2 执行 HTTPS 本地隧道 - 证书问题

ssl - FTPS 2-5 秒延迟

amazon-web-services - HTTPS Elastic Beanstalk 非自定义域

linux - 如何在(linux)ubuntu16.04上设置anaconda的代理