一、遇到的问题:
先描述一下问题,原来的系统把架构从Spring mvc改成了Spring Boot,并且配置了支持https访问。我用frame框架集成了两个服务,但是两个服务的域名是不一样的。举例,A服务:a.fk.com,B服务:b.fk.com。当我登录到A服务后通过frame集成的方式去访问B,用http可以访问,然而https就不支持。
二、问题定位:
1.由于从A无法登陆B服务,试验直接从浏览器登录B服务登录成功。
2.回来再从A登录B又可以登录了。但是再访问B的其他功能又失败,并且发现清cookie之后,又不能从A访问B。便以为是跨域造成的cookie和session失效
3.查看B日志发现登陆后每次交互的Session id都是不同的,更认为是跨域后session丢失
4.试验网上各种frame和Spring Boot的跨域解决办法,都无效--放弃
5.逼急了直接连生产环境,意外发现居然可以访问(生产环境尚未升级Spring Boot框架),以为是替换Spring Boot框架造成的,而且http可以,https就不行,就以为自己写的http强转https造成的,又纠结好久试验了好几种办法,依然没有解决
6.如果不是替换Spring Boot架构导致的,那就省http和https的差别了,灵光一闪,是不是浏览器SSL证书问题
7.申请了两个公网的云服务器,并且给两个服务器申请了两个免费的SSL证书,验证果然可以了,解决了(妈的,想砸电脑了)
三、总结问题原因:
本地测试一直用自己生成的SSL证书,虽然浏览器一直有不安全提示,但是继续访问可以使用,所以一直没在意。但是在代码中frame用https访问B系统时浏览器并不提示不安全或者SSL证书的问题,就是不通,所以很长时间没意识到这个问题。把各个服务的SSL证书都申请好,浏览器认识的证书就没问题了
==============
此问题折腾了好几天,一个突然的意识解决了
写这么多为了以后给自己提个醒,也希望可以对其他人有些帮助
==============
相关推荐
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。这个名为"Spring Boot应用开发框架 v2.7.17.zip"的压缩包包含了该版本的源码和相关文档,是学习和开发基于Spring ...
Spring 框架以其模块化和灵活性著称,但这也可能导致在配置和集成各个子项目时遇到挑战。Spring Boot 通过自动化配置和约定优于配置的原则,解决了这些问题。 首先,Spring Boot 允许开发者创建能够独立运行的 ...
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。版本v2.6.14是该框架的一个稳定版本,提供了诸多改进和新特性,旨在提高开发效率和应用程序的稳定性。在这个压缩包中...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,...
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序开发流程,通过预配置的设置使得开发者能够快速构建可运行的应用程序。在"Spring Boot应用开发框架 v3.0.12.zip"中,包含了一份详细的...
获取Spring Boot 2微框架的可重用代码配方和代码段 了解Spring Boot 2如何与其他Spring API,工具和框架集成 访问Spring MVC和新的Spring Web Sockets,以实现更简单的Web开发 使用微服务进行Web服务开发并与Spring ...
Spring Boot 是一个基于 Java 的框架,它简化了创建独立的、生产级别的基于 Spring 应用程序的流程。这个框架提供了一种“开箱即用”的体验,通过内嵌的 Tomcat 容器,使得应用程序无需额外配置即可运行。Spring ...
5. Spring框架的深入应用,如何在Spring Boot中集成和使用Spring的各个模块。 6. 根据书中明确指出的版权信息,书中内容在复制、存储和传输时需要遵守相关规定。 7. 作者Greg L. Turnquist的技术背景和专业贡献,为...
Spring Boot是Spring框架的简化版本,它旨在简化初始设置并提供开箱即用的功能,而MyBatis则是一个轻量级的持久层框架,它将SQL操作与Java代码紧密集成,提供了灵活的数据访问。 首先,我们来看标题"spring-boot +...
Spring Boot提供了多种集成Session的解决方案,其中一种就是使用Redis作为Session的存储介质。Redis是一个高性能的键值数据库,支持丰富的数据结构,如字符串、哈希、列表、集合等,非常适合用来存储Session。 要...
《Learning Spring Boot 3.0 - 第三版》是...书中还会深入讨论Spring Boot的核心特性,比如自动配置、健康检查、内嵌的Tomcat或Jetty服务器、Spring MVC用于构建RESTful API,以及数据访问层的集成,包括JPA和Hibernat
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化Spring 应用程序的初始搭建以及开发过程。它提供了一个“开箱即用”的体验,允许开发者快速地创建独立运行的、生产级别的基于Spring的应用。这个框架的...
Spring Boot是Java开发领域中的一款热门框架,它简化了基于Spring的应用程序的初始设置和配置。这个压缩包包含了丰富的Spring Boot学习资料以及实际项目案例,是深入理解和掌握Spring Boot技术的宝贵资源。 首先,...
Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,提供了强大的数据处理能力和事务管理功能。下面我们将深入探讨这个主题。 首先,**Spring ...
* Cloud Foundry:Spring Boot 广泛应用于 Cloud Foundry 域名,用于构建基于 Spring 框架的 Cloud Foundry 应用程序。 8. Spring Boot 的技术栈 Spring Boot 的技术栈包括: * Spring Framework:Spring Boot ...
spring-boot-plus框架是spring boot框架的基础上进行高度扩展的一个框架, 高度集成了Spring Session, Spring Data, Spring Cache, Spring WebSocket,Spring Mockito, Spring validation, Redssion,MQ, Redis等...
通过这个"最基础的spring-boot-jpa框架",学习者可以快速理解和实践 Spring Boot 与 JPA 结合使用的基本步骤,包括项目的构建、实体定义、数据访问以及事务处理等。这个框架为初学者提供了一个良好的起点,帮助他们...
### Spring Boot 框架与 Maven 项目的搭建详解 #### 一、Spring Boot与Maven简介 - **Spring Boot**:是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定...
Spring Boot 集成 Spring Session 实现 Session 共享的方法 Spring Boot 是目前流行的 Java 框架,它提供了许多便捷的功能和配置项,使得开发者可以快速构建项目。但是,在分布式环境中,Session 的共享变得非常...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据库、日志、安全等,极大地提高了开发效率。在"Spring Boot web 访问"这个主题中...