Java SSLException:不支持的记录版本未知
我发布了,我可以在下一步从WebLogic startups参数中删除它:Java SSLException:不支持的记录版本未知,java,ssl,weblogic,sslexception,Java,Ssl,Weblogic,Sslexception,我发布了,我可以在下一步从WebLogic startups参数中删除它: -Djsse.enableSNIExtension=false 有人能解释一下吗?参数-djse.enableSNIExtension=false禁用SNI 假设您转到endpointaaa.com/aaa。在这个端点endpointaaa.com后面可能有多个应用程序服务器,它们都有自己的证书。所以/aaa可以指向服务器A,/bbb应该指向服务器B。SNI让您发送您试图在其初始接触中到达的端点(我想是SSL握手?)。
-Djsse.enableSNIExtension=false
有人能解释一下吗?参数
-djse.enableSNIExtension=false
禁用SNI
假设您转到endpointaaa.com/aaa。在这个端点endpointaaa.com后面可能有多个应用程序服务器,它们都有自己的证书。所以/aaa可以指向服务器A,/bbb应该指向服务器B。SNI让您发送您试图在其初始接触中到达的端点(我想是SSL握手?)。这将让接收端知道您正试图连接到哪个应用程序服务器,因此它可以使用正确的证书进行响应
如果未启用SNI,则可能是不同的应用程序服务器使用不同的证书响应。我刚刚阅读了“重复”的答案,我同意这些答案。JavaSE7添加了椭圆曲线密码(ECC)扩展和服务器名称指示(SNI)扩展。可以使用:-Dcom.sun.net.ssl.enableECC=false和-djse.enableSNIExtension=false禁用。是的,但我正在使用Java 8构建和运行。这很有意义,因为事实上,API的提供程序可以与多个服务器一起工作。但是,这是正确的例外?我的意思是,它应该在握手阶段失败。似乎后端有许多服务器,但端点只有一个,并且这些服务器具有通配符证书。