问题描述:
服务端使用lighttpd提供服务,配置了digest认证方式+https. 之前使用jdk6+httpcomponent进行调用,访问正常响应,后来jdk升级到jdk7版本,原来正常的请求返回了400错误.HTTP/1.0 400 Bad Request,
排查过程:
1.分别使用jdk6,jdk7,jdk8编写测试用例进行测试
结果:除了jdk6返回正常以外,其他版本都是400错误
2.使用jdk7,分别单独测试https和digest认证
结果:200
经过以上2组测试,基本可以锁定问题出现在jdk7+https+digest的场景
3.使用chrome浏览器进行测试,发现依然是400错误
根据返回的tls相关信息,观察到lighttpd使用了TLS1.0版本,对比主流网站,使用的是TLS1.2版本
锁定问题:
lighttpd使用版本TLS1.0,与jdk7实现TLS1.2版本,在某些场景下不兼容所导致。
解决方案:
1.升级lighttpd使用的TLS版本到1.2
2.在httpclient段,设置http proxy,调用是成功的!揣测为保证TLS版本的兼容,client/proxy/server均使用了TLS1.0进行交互。
参考资料:
https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6687282
http://mail.openjdk.java.net/pipermail/net-dev/2008-April/000209.html
http://blog.163.com/hlz_2599/blog/static/1423784742013415101252410/
http://blog.itpub.net/15480802/viewspace-1340982/
相关推荐
JDK1.8+API+中文文档+高清完整版+CHM.rar JDK1.8+API+中文文档+高清完整版+CHM.rar JDK1.8+API+中文文档+高清完整版+CHM.rar JDK1.8+API+中文文档+高清完整版+CHM.rar JDK1.8+API+中文文档+高清完整版+CHM.rar JDK...
jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201+321,,,,jdk8+201...
以电商项目为线索,快速掌握 JDK17 + springboot3 + springcloud Alibaba 专栏源码。 2 技术选型 JDK17 持久层: MyBatis-Plus 数据库: MySQL5.7 其他: SpringCloud Alibaba 技术栈 服务注册与发现:Nacos ...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于SSM+JDK1.8+tomcat7+maven3.6.0的 Web版在线聊天室源码+项目说明.zip
基于ChatGPT实现的微信小程序,适配H5和WEB端,支持打字效果输出流式输出,JDK8 + SpringBoot + Vue2 + uniapp + Mysql
在这个集成工具中,"JTM-2.5.7z"可能是一个包含预配置的JDK、Tomcat和MySQL环境的压缩文件,而"防虫.txt"可能是提供的一份说明文档或注意事项,用于指导用户如何正确使用和防止常见问题。 总的来说,"JDK + Tomcat ...
JDK1.8+Tomcat8.5+Maven3.3.9+MySQL5.7,都是在Linux系统下搭建环境所需要的压缩包,需要的可以自行下载,配置详情,可以参看https://blog.csdn.net/weixin_40460171/article/details/106758629
标题 "jdk1.8.0+tomcat-7+maven-3.3.9" 提供的是一个典型的Java开发环境的组合,包含了三个关键组件:Java Development Kit (JDK) 1.8.0更新101,Apache Tomcat 7.0.61服务器,以及Apache Maven 3.3.9构建工具。...
JDK1.8安装与配置 准备工作: 我安装的ContOS8(版本:CentOS-Stream-8-x86_64-20191219-dvd1)没有默认安装 检查是否预装jdk,如果有请先卸载: yum -y remove java 确认安装版本: 注意jdk版本,不要安装错了,...
运行环境 jdk7+tomcat7+mysql+eclipse 项目技术 javabean+servlet+jsp+jquery 文档齐全,数据库导入生成即可
eclipse mars2+maven3+jdk7+spring4+jersey2+mybatis3+tomcat8 开发技术,这是目前最先进的技术框架,提供高并发REST服务调用, 可用于开发产品,提升效率和质量,很有价值,
JDK1.8+Tomcat7+MySQL5.5安装包 全部都是rmp文件,安装的过程将会写在博客中,
框架 eclipse + jdk1.8 or jdk14 + swing + sql server 管理员用户密码 admin 123456 模块介绍 管理员 登陆模块 器材管理模块 消防员管理模块 密码重置模块 关于系统模块 退出模块 数据库设计 使用的数据库是...
jdk16+apache2+tomcat6+mysql5 软件下载 安装过程 JDK安装 Tomcat安装 Apache安装 MySql安装
这是一个集成了jre,tomcat,mysql的绿色运行环境,解压之后就可以直接运行web(只要会点鼠标),不需要用户自己安装jre、tomcat、mysql,一键到位,看起来像是桌面程序的web应用.
docker制作自定义化的tomcat镜像,满足项目自定义需求,相关文章指导可参考https://blog.csdn.net/Ber_Bai/article/details/119960730?spm=1001.2014.3001.5501
《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...
BellSoft Liberica JDK 是一个经过严格测试和验证的 OpenJDK,它完全符合 Java SE 规范,在Linux, Windows, macOS, 和 Solaris 操作系统上运行无误
Jenkins 支持jdk1.7+jdk1.8打包,包括兼容组件、maven包,JDK建议用:jdk-8u11-linux-x64、jdk-7u80-linux-x64。 安装前将plugins放到/root/.jenkins/路径下,再启动Jenkins,首次启动跳过安装插件步骤,直接进入...