为什么码头服务器在发送请求时不同意协议?

问题描述 投票:0回答:1

Java版本

1.8

码头版本

9.3.x

  • 正在尝试:13443 ...
  • TCP_NODELAY设置
  • 已连接到(10.61.45.225)端口13443(#0)
  • ALPN,提供http / 1.1
  • 密码选择:ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
  • 成功设置证书验证位置:
  • CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:无
  • TLSv1.2(OUT),TLS标头,证书状态(22):
  • TLSv1.2(OUT),TLS握手,客户端问候(1):
  • TLSv1.2(IN),TLS握手,服务器问候(2):
  • TLSv1.2(IN),TLS握手,证书(11):
  • TLSv1.2(IN),TLS握手,服务器密钥交换(12):
  • TLSv1.2(IN),TLS握手,请求CERT(13):
  • TLSv1.2(IN),TLS握手,服务器已完成(14):
  • TLSv1.2(OUT),TLS握手,证书(11):
  • TLSv1.2(OUT),TLS握手,客户端密钥交换(16):
  • TLSv1.2(OUT),TLS握手,CERT验证(15):
  • TLSv1.2(OUT),TLS更改密码,更改密码规范(1):
  • TLSv1.2(OUT),TLS握手,已完成(20):
  • TLSv1.2(IN),TLS更改密码,更改密码规范(1):
  • TLSv1.2(IN),TLS握手,已完成(20):
  • 使用TLSv1.2的SSL连接/ ECDHE-RSA-AES256-SHA384ALPN,服务器不同意协议服务器证书:主题:CN = karaf @开始日期:2020 GMT 1月23日07:06:56过期日期:格林尼治标准时间2020年7月23日07:07:06发行者:CN =SSL证书验证结果:证书链(19)中的自签名证书,仍然继续。GET / path / to / resource HTTP / 1.1主持人::13443用户代理:curl / 7.65.0接受:/将捆绑商品标记为不支持多用途

我的问题是服务器不同意哪种协议?根据日志,似乎ALPN提供了使用http / 1.1的权限,并且服务器可能不同意它,因此该日志也不同。

对此有什么解决方案吗?

为什么需要解决方案?

我想因此,在代码中调试时,最初作为https请求发送的请求已解析为http请求。请参阅下面的日志。enter image description here

java https ssl-certificate jetty apache-karaf
1个回答
0
投票

您的问题在调试器中清晰可见:

[baseUri / requestUrihttp://开头,目标端口为13443。错误日志包含TLS连接握手,因此,我假设Web服务器在端口13443上侦听了期望的HTTPS。

您可以看到,您正在尝试使用纯文本HTTP协议查询HTTPS Web服务器。

将您的应用程序更改为使用https://...网址。那应该解决它。

© www.soinside.com 2019 - 2024. All rights reserved.