一、遇到的问题:
先描述一下问题,原来的系统把架构从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 框架以其模块化和灵活性著称,但这也可能导致在配置和集成各个子项目时遇到挑战。Spring Boot 通过自动化配置和约定优于配置的原则,解决了这些问题。 首先,Spring Boot 允许开发者创建能够独立运行的 ...
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。这个名为"Spring Boot应用开发框架 v2.7.17.zip"的压缩包包含了该版本的源码和相关文档,是学习和开发基于Spring ...
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。版本v2.6.14是该框架的一个稳定版本,提供了诸多改进和新特性,旨在提高开发效率和应用程序的稳定性。在这个压缩包中...
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的应用程序的初始设置和配置。版本2.4.12是Spring Boot的一个稳定版本,提供了丰富的功能和改进。在这个压缩包中,我们找到了核心库spring-boot-...
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。 要...
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化Spring 应用程序的初始搭建以及开发过程。它提供了一个“开箱即用”的体验,允许开发者快速地创建独立运行的、生产级别的基于Spring的应用。这个框架的...
Spring Boot是Java开发领域中的一款热门框架,它简化了基于Spring的应用程序的初始设置和配置。这个压缩包包含了丰富的Spring Boot学习资料以及实际项目案例,是深入理解和掌握Spring Boot技术的宝贵资源。 首先,...
* Cloud Foundry:Spring Boot 广泛应用于 Cloud Foundry 域名,用于构建基于 Spring 框架的 Cloud Foundry 应用程序。 8. Spring Boot 的技术栈 Spring Boot 的技术栈包括: * Spring Framework:Spring Boot ...
Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,提供了强大的数据处理能力和事务管理功能。下面我们将深入探讨这个主题。 首先,**Spring ...
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中文文档是Spring Boot官方文档的中文翻译版,它包含了Spring Boot的基本介绍、快速入门、核心特性、高级特性等内容,可以帮助用户快速了解和掌握Spring Boot的使用方法和技巧。 Spring Boot是一款...
Spring Boot 集成 Spring Session 实现 Session 共享的方法 Spring Boot 是目前流行的 Java 框架,它提供了许多便捷的功能和配置项,使得开发者可以快速构建项目。但是,在分布式环境中,Session 的共享变得非常...
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据库、日志、安全等,极大地提高了开发效率。在"Spring Boot web 访问"这个主题中...