Java 为什么jetty server在发送请求时不同意协议?

Java 为什么jetty server在发送请求时不同意协议?,java,https,ssl-certificate,jetty,apache-karaf,Java,Https,Ssl Certificate,Jetty,Apache Karaf,Java版本 1.8 码头版 9.3.x 正在尝试:13443 TCP_节点集 连接到(10.61.45.225)端口13443(#0) ALPN,提供http/1.1 密码选择:全部:!出口:!出口40:!出口56:!阿努尔:!低:!RC4:@强度 已成功设置证书验证位置: CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:无 TLSv1.2(OUT)、TLS标头、证书状态(22): TLSv1.2(输出),TLS握手,客户端问候(1): TLSv

Java版本

1.8

码头版

9.3.x

  • 正在尝试:13443
  • TCP_节点集
  • 连接到(10.61.45.225)端口13443(#0)
  • ALPN,提供http/1.1
  • 密码选择:全部:!出口:!出口40:!出口56:!阿努尔:!低:!RC4:@强度
  • 已成功设置证书验证位置:
  • CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:无
  • TLSv1.2(OUT)、TLS标头、证书状态(22):
  • TLSv1.2(输出),TLS握手,客户端问候(1):
  • TLSv1.2(IN)、TLS握手、服务器hello(2):
  • TLSv1.2(IN),TLS握手,证书(11):
  • TLSv1.2(IN)、TLS握手、服务器密钥交换(12):
  • TLSv1.2(IN),TLS握手,请求证书(13):
  • TLSv1.2(IN),TLS握手,服务器完成(14):
  • TLSv1.2(输出),TLS握手,证书(11):
  • TLSv1.2(输出)、TLS握手、客户端密钥交换(16):
  • TLSv1.2(输出)、TLS握手、证书验证(15):
  • TLSv1.2(OUT),TLS更改密码,更改密码规范(1):
  • TLSv1.2(输出),TLS握手,完成(20):
  • TLSv1.2(IN),TLS更改密码,更改密码规范(1):
  • TLSv1.2(IN),TLS握手,完成(20):
  • 使用TLSv1.2/ECDHE-RSA-AES256-SHA384的SSL连接 ALPN,服务器不同意协议 服务器证书: 主题:CN=karaf@ 开始日期:1月23日07:06:56格林尼治标准时间2020 过期日期:7月23日07:07:06格林尼治标准时间2020 发行人:中国= SSL证书验证结果:证书链(19)中的自签名证书,仍在继续。 GET/path/to/resource HTTP/1.1 主机:13443 用户代理:curl/7.65.0 接受:/ 将捆绑包标记为不支持多用途 结果是jetty没有正确配置ssl。为了解决这个问题,我添加了以下配置

    <New id="tlsHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> <Arg> <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> <!-- This says... Redirect to https://host:8443 if server returns "NOT SECURE" error --> <Set name="secureScheme">https</Set> <Set name="securePort">8443</Set> </New> </Arg> <Call name="addCustomizer"> <Arg> <New class="org.eclipse.jetty.server.SecureRequestCustomizer" /> </Arg> </Call> </New>
    
    https 8443
    
    根据日志,双方通过TLSv1.2进行握手。对不对?如果是,这不意味着服务器也在使用相同的协议吗?您使用的是什么版本的Java?这是我的Java版本1.8.0ç231OK。。。因此,您可能需要阅读/浏览以下内容:。你需要做。。。东西。。。让ALPN与java8和Jetty一起工作。我确实读过它,但没有什么意义。有更好的地方阅读吗?或者我会再读一遍。