关于SSL认证后出现的http和https无法同时访问问题

news2024/11/16 21:39:04

--痛苦是人最好的试金石 Pain is man's best litmus test

问题:

我现在在我的Tomcat上面加了一个SSL 认证,但是我就是指认证了一个xxx.xxx.com的域名,我其他的域名 也在同一个server.xml配置文件中,现在xxx.xx.com可以https可以使用了,但是我的其他域名连http也无法访问了 怎么回事

答: 

当你在 Tomcat 上配置 SSL 认证时,如果配置不当,可能会导致其他域名无法正常访问。以下是可能的原因和解决方法:

1. 端口冲突

  • 确保你的 server.xml 文件中,SSL 配置使用了一个单独的端口(通常是 443),而非默认的 HTTP 端口(通常是 8080 或 80)。如果 SSL 配置端口和 HTTP 配置端口冲突,会导致 HTTP 服务无法正常工作。
  • 检查 <Connector> 元素的 port 属性,确认 SSL 和 HTTP 配置分别使用不同的端口。

2. 虚拟主机配置冲突

  • 如果你在 server.xml 中为 xxx.xxx.com 配置了一个 <Host> 元素,但没有为其他域名单独配置 <Host>,可能会导致这些域名没有正确的虚拟主机配置。
  • 确保为每个域名都配置了相应的 <Host> 元素,或者使用 defaultHost 属性指定默认的虚拟主机。

3. SSL 配置中的 redirectPort 设置

  • Tomcat 的 SSL 配置中可能设置了 redirectPort,导致所有 HTTP 请求都被重定向到 HTTPS。检查 server.xml 中的 <Connector> 配置,看是否设置了 redirectPort,并确保它与 SSL 端口一致。
  • 如果你不希望其他域名被强制重定向到 HTTPS,可以为这些域名单独配置一个 <Host>,并在 <Connector> 中确保没有设置 redirectPort

4. 检查日志文件

  • 检查 Tomcat 的日志文件(如 catalina.out),看看是否有关于启动过程中出现的错误或警告。这些日志信息通常可以帮助你找出问题所在。

5. SSL 配置的 keyAliaskeystore

  • 如果你为 xxx.xxx.com 配置了 SSL 证书,可能在 <Connector> 中使用了 keyAliaskeystore 来指定特定的证书。如果这影响了其他域名的访问,可以考虑为不同的域名配置单独的 <Connector> 元素,或者检查是否可以调整证书配置来兼容多个域名。

解决步骤:

  1. 先确保你的 server.xml 中,为每个域名配置了独立的 <Host> 元素。
  2. 检查 Connector 元素,确保 HTTP 和 HTTPS 使用不同的端口,并且 redirectPort 设置合理。
  3. 尝试在 Tomcat 日志中查找更多信息,以便更好地定位问题。

从你提供的 server.xml 配置文件中,可以看出你为域名 xxx.xxx.com 配置了 SSL,但在配置上有几个潜在的问题可能导致其他域名无法访问 HTTP 服务。以下是详细分析和建议:

1. 端口配置问题

  • 你将 Connector 配置在 443 端口上,并且启用了 SSL。这意味着这个端口只接受 HTTPS 请求。如果其他域名没有配置 SSL 证书,它们将无法通过 HTTPS 访问。
  • 而且你没有配置一个单独的 HTTP 端口(例如默认的 808080 端口),这会导致非 HTTPS 请求没有对应的处理端口,因而无法访问。

2. 未配置 HTTP Connector

  • 如果你希望其他域名继续使用 HTTP 访问,建议你在 server.xml 中添加一个非 SSL 的 HTTP Connector。例如,使用默认的 8080 端口:
     xml 

    复制代码

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

3. redirectPort 配置

  • 在现有的 HTTPS Connector 中,你设置了 redirectPort="8443",但其实你并没有配置这个端口。这个设置通常用于将 HTTP 请求重定向到 HTTPS,但在这个情况下,它可能会引起混乱。如果你不打算使用 8443 端口,可以移除 redirectPort 属性,或者确保 HTTP 连接器的 redirectPort 配置正确。

4. SSL 证书与多个域名

  • 当前 SSL 证书只适用于 xxx.xxxx.com,如果其他域名需要使用 HTTPS,它们需要各自的 SSL 证书,或者你需要一个支持多个域名(SAN)的 SSL 证书。

解决方法:

  1. 添加 HTTP Connector:

    • <Service name="Catalina"> 内添加一个新的 HTTP Connector,例如:
       xml 

      复制代码

      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

    • 这样,未配置 SSL 的域名可以通过 HTTP 访问。
  2. 调整 redirectPort 设置:

    • 根据你是否需要将 HTTP 请求重定向到 HTTPS,选择保留或移除 redirectPort
  3. 为其他域名配置 SSL:

    • 如果希望其他域名也支持 HTTPS,你需要为它们配置相应的 SSL 证书,并在 server.xml 中为它们添加 SSL Connector

调整后,你的 server.xml 可能会如下所示(添加了 HTTP 连接器):

 

xml

复制代码

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <Connector port="443" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" SSLEnabled="true" scheme="https" secure="true" keystoreFile="conf/xxx.xxxx.com.jks" keystoreType="JKS" keystorePass="s1qgn5cp" clientAuth="false" SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

请根据你的实际需求和证书配置调整 server.xml 文件。完成这些修改后,重启 Tomcat 并测试各域名的访问情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2088339.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

策略模式+模版方法模式+简单工厂模式混用优化代码复杂分支问题

说明 这篇博客是在复杂场景使用策略和工厂模式代替分支语句升级版&#xff0c;增加了模版方法模式。将支付类的公共逻辑抽取到模板类中&#xff0c;使整个支付逻辑更加灵活&#xff0c;进一步优化了代码结构&#xff0c;提升了软件的可维护性和可读性。 流程图如下 先看一遍流…

接口自动化面试题放送,助你离Offer又近一步

Hi&#xff0c;大家好&#xff0c;网传金九银十&#xff0c;其实只要技术过硬&#xff0c;准备充分&#xff0c;任何时候都是找工作的黄金时期。时值五月&#xff0c;今天继续分享一波接口自动化面试题&#xff0c;为你的面试助攻&#xff0c;欢迎在留言区评论喔。 请问你是如…

大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

全新一代理想智能驾驶开启万人体验团招募,OTA 6.2正式全量推送

核心信息&#xff1a; 无图NOA正式推送后&#xff0c;截至7月30日&#xff0c;理想汽车城市NOA日均里程提升3倍&#xff0c;城市NOA日均活跃度提升8倍理想全国门店开启无图NOA试驾后&#xff0c;门店NOA试驾率实现倍增&#xff0c;30万元以上车型AD Max销量占比达到70%理想端到…

NoSQL:数据库领域的“新潮力量”——从起源到未来的全面解析

引言 曾几何时&#xff0c;关系型数据库&#xff08;RDBMS&#xff09;就是数据管理的“老大哥”&#xff0c;一统江湖&#xff0c;所向披靡。然而&#xff0c;随着大数据时代的到来&#xff0c;数据量像火箭般飙升&#xff0c;数据的形态也变得越来越“随性”&#xff0c;传统…

一文盘点:性能测试常见的7大指标(文末送性能测试题库)

01性能指标分类 系统性能指标 资源性能指标 中间件指标 数据库指标 稳定性指标 可扩展性指标 可靠性指标 1、系统性能指标 响应时间 系统处理能力 吞吐量 并发用户数 错误率 2、资源性能指标 CPU 內存 磁盘吞吐量 网络吞吐量 3、中间件指标 常用的中间件例如…

webstorm最新激活码

最智能的 JavaScript IDE WebStorm 是一个适用于 JavaScript 和相关技术的集成开发环境。类似于其他 JetBrains IDE&#xff0c;它也会使您的开发体验更有趣&#xff0c;自动执行常规工作并帮助您轻松处理复杂任务。 激活码获取地址 https://web.52shizhan.cn/activity/webs…

微信小程序用web-view实现内嵌h5页面

需求&#xff1a; 在微信小程序里面使用web-view内嵌一个h5页面&#xff0c;并且从h5页面还可以跳到小程序的某个页面 目录 需求&#xff1a; 小程序web-view内嵌h5页面 配置&#xff1a; code&#xff1a; 在h5页面跳转到小程序的某个页面 嵌入sdk&#xff1a; code&…

servlet的过滤器filter和springmvc的拦截器Interceptor

背景 Servlet的过滤器&#xff08;Filter&#xff09;和Spring MVC的拦截器&#xff08;Interceptor&#xff09;都是用于在请求处理过程中对请求进行拦截和处理的组件。它们之间的主要区别在于它们的作用范围和使用方式。 作用范围 Filter&#xff1a;过滤器是基于Servlet规范…

性价比运动耳机排行榜有哪些上榜?排行榜五大人气机型分享!

开放式蓝牙耳机最近异常火热&#xff0c;不是因为开放式耳机技术含量有多高&#xff0c;而是它从另一个层面&#xff0c;给了很多追求佩戴舒适&#xff0c;又讲究卫生、安全的玩家一种完美的方案。相对于入耳式耳机它又有独特的视听魅力。相比传统入耳式耳机&#xff0c;开放式…

运动耳机哪个牌子的质量好?五款口碑绝佳机型安利!

​现在耳机市场上&#xff0c;开放式耳机因为外观时尚、戴着舒服&#xff0c;成了大家日常爱用的热门货。但是&#xff0c;市面上的开放式耳机品牌多得眼花缭乱&#xff0c;质量也是高低不一&#xff0c;让人挑花了眼。作为一个搞了三年耳机评测的博主&#xff0c;我还是个耳机…

五、工程化开发和脚手架Vue CLI

开发 Vue 的两种方式: 1.核心包传统开发模式:基于 html/css/js 文件&#xff0c;直接引入核心包&#xff0c;开发 Vue. 2.工程化开发模式:基于构建工具(例如:webpack)的环境中开发 Vue。 一、基本介绍&#xff1a; Vue CLl 是 Vue 官方提供的一个可以帮助我们快速创建一个开发…

ISO 26262中的失效率计算:SN 29500-7 Expected values for relays

目录 引言 1 基准条件下的失效率 2 失效率转换 2.1 失效率预测模型 2.2 负载应力系数 2.2.1 应力区域 2.2.2 负载应力系数选择 2.3 环境应力系数 2.4 温度应力系数 2.4.1 温度应力系数计算模型 2.3.2 温度应力系数计算 2.4 失效准则系数 3 任务剖面应力系数 引言 …

使用 nuxi build 命令构建你的 Nuxt 应用程序

title: 使用 nuxi build 命令构建你的 Nuxt 应用程序 date: 2024/8/30 updated: 2024/8/30 author: cmdragon excerpt: nuxi build 命令是构建 Nuxt 应用程序的核心工具,它将你的应用程序打包成适合生产环境的格式。通过理解和使用不同的选项,如 --prerender、–dotenv 和…

【微信小程序】分包--基础概念

基础概念 1. 什么是分包 分包指的是把一个完整的小程序项目&#xff0c;按照需求划分为不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 2. 分包的好处 3. 分包前项目的构成 4. 分包后项目的构成 5. 分包的加载规则 6. 分包的体积限…

#单片机基础 笔记二

SPI中断 1.SPI总线协议 1.1协议介绍 SPI接口是Motorola &#xff08;motorola | Smartphones, Accessories & Smart Home Devices&#xff09;首先提出的全双工三线/四线同步串行外围接口采用主从模式&#xff08;Master Slave&#xff09;架构。 时钟由Master控制&#xf…

Fast-BEV: A Fast and Strong Bird’s-Eye ViewPerception Baseline

本文提出了一种简单但有效的框架&#xff0c;称为Fast-BEV&#xff0c;它能够在车载芯片上进行更快的BEV感知。 Fast-BEV框架包括五个部分: (1) 一个轻量级且易于部署的视图变换方法&#xff0c;能够快速将2D图像特征转化为3D体素空间&#xff1b; (2) 一个多尺度图像编码器…

DAY8:DNS查询过程 | CDN的概念和功能 | Cookie和Session是什么?有什么区别?

目录 DNS查询过程 CDN的概念和功能 Cookie和Session是什么&#xff1f;有什么区别&#xff1f; Cookie和Session的概念 Cookie和Session的区别 DNS查询过程 DNS用来将主机名和域名转换为IP地址&#xff0c;其查询过程一般通过以下步骤&#xff1a; 本地DNS缓存检查&…

岩石检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

岩石检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

九方智投控股已完成九章证券领域大模型算法备案

九方智投控股已完成九章证券领域大模型算法备案 8月29日九方智投控股&#xff08;股票代码&#xff1a;09636.HK&#xff09;公布其截至2024年6月30日的上半年业绩报告&#xff0c;财报显示&#xff0c;集团总收益达到了约人民币898.1百万元&#xff0c;较去年同期的约人民币86…