单个Tomcat配置多个域并配置多个证书

教你单个Tomcat配置多个域并配置多个证书 近期,帮一个友人配备一台服务器,在该服务器上起动一个Tomcat运作两个运用,诀别对应两个域名: www.domain一.com 和 www.domain二.cn ,至于http协议(80端口),只要配备Tomcat的虚拟主机就可以了。但友人为了数据的安全性,分别为每个域名购置了一个CA证件。这快要求在一个Tomcat上配备两个证件。在网上搜了许久,没见有雷同的案例。只查到有人说了两种办法:1、两 阅读详情

原文地址
近日,帮一个朋友配置一台服务器,在该服务器上启动一个Tomcat运行两个应用,分别对应两个域名:www.domain1.com 和 www.domain2.cn ,对于http协议(80端口),只要配置Tomcat的虚拟主机就可以了。

  但朋友为了数据的安全性,分别为每个域名购买了一个CA证书。这就要求在一个Tomcat上配置两个证书。在网上搜了好久,没见有相同的案例。只查到有人说了两种办法:

一、两个域名使用不同的HTTPS端口,比如:www.domain1.com使用443端口,www.domain2.cn 使用8443端口,这种方式对于测试可以,但用于生产环境,要求普通用户在输入地址时还要输入端口8443,不方便不说,有些用户还不懂。所以这种方案只能暂时放弃。

二、使用两个公网IP,每个域名对应一个IP,这样就可以使每个域名都使用443作为HTTPS的端口,方便用户使用。但没有查到实际的配置案例。

  既然没有案例,那就自己动手,开始尝试。经过N次尝试之后,终于配置成功。为了防止忘记,也为了方便别人,把配置文件贴出来。为了减少篇幅,把大部分注释删除了。
<?xml version="1.0" encoding="UTF-8"?>  

<Server port="8005" shutdown="SHUTDOWN">  

  <!-- Comment these entries out to disable JMX MBeans support used for the administration web application -->  
  <Listener className="org.apache.catalina.core.AprLifecycleListener" />  
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />  
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />  
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>  

  <!-- Global JNDI resources -->  
  <GlobalNamingResources>  

    <!-- Test entry for demonstration purposes -->  
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>  

    <!-- Editable user database that can also be used by  
         UserDatabaseRealm to authenticate users -->  
    <Resource name="UserDatabase" auth="Container"  
              type="org.apache.catalina.UserDatabase"  
       description="User database that can be updated and saved"  
           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"  
          pathname="conf/tomcat-users.xml" />  

  </GlobalNamingResources>  

  <!-- Define the Tomcat Stand-Alone Service -->  
  <Service name="Catalina">  

    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->  
    <Connector port="80" maxHttpHeaderSize="8192"  
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" redirectPort="8443" acceptCount="100"  
               connectionTimeout="20000" disableUploadTimeout="true" />  

    <!-- Define a SSL HTTP/1.1 Connector on port 443 -->  
    <Connector port="443" maxHttpHeaderSize="8192"  
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" disableUploadTimeout="true"  
               acceptCount="100" scheme="https" secure="true"  
               clientAuth="false" sslProtocol="TLS"  
    keystoreFile  ="D:/certs/mydomain1.com_keystore.jks" keystorePass="www.mydomain1.com" keystoreType="JKS"   
    truststoreFile="D:/certs/mydomain1.com_keystore.jks" truststorePass="www.mydomain1.com" truststoreType="JKS"  
    address="xxx.xxx.2.83"  
               />  

    <Connector port="443" maxHttpHeaderSize="8192"  
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" disableUploadTimeout="true"  
               acceptCount="100" scheme="https" secure="true"  
               clientAuth="false" sslProtocol="TLS"  
    keystoreFile  ="D:/certs/mydomain2.cn_keystore.jks" keystorePass="www.mydomain2.cn" keystoreType="JKS"   
    truststoreFile="D:/certs/mydomain2.cn_keystore.jks" truststorePass="www.mydomain2.cn" truststoreType="JKS"  
    address="xxx.xxx.2.81"  
               />  

    <!-- Define an AJP 1.3 Connector on port 8009 -->  
    <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />  

        <!-- Define the top level container in our container hierarchy -->  
        <Engine name="Catalina" defaultHost="localhost">  

      <!-- This Realm uses the UserDatabase configured in the global JNDI  
           resources under the key "UserDatabase".  Any edits  
           that are performed against this UserDatabase are immediately  
           available for use by the Realm.  -->  
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>  

      <!-- Define the default virtual host  
           Note: XML Schema validation will not work with Xerces 2.2.  
       -->  
      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
      </Host>  

      <Host name="xxx.xxx.2.81" appBase="D:/mydomain2/webapp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
    <Alias>mydomain2.cn</Alias>  
    <Alias>www.mydomain2.cn</Alias>  
      </Host>  

      <Host name="xxx.xxx.2.83" appBase="D:/mydomain1/webapp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
    <Alias>mydomain1.com</Alias>  
    <Alias>tax.mydomain1.com</Alias>  
    <Alias>www.mydomain1.com</Alias>  
    <Alias>www.mydomain1.cn</Alias>  
    <Alias>mydomain1.cn</Alias>  
      </Host>  


    </Engine>  

  </Service>  

</Server>  

注意两个Port=”443”的Connector配置,最后面的address参数是关键,如果不加address,那么Tomcat将会报错,说443端口已被使用。其他的配置信息,网络上都能找到例子或说明,就不多做说明了

Tomcat配置SSL证书 本地即服务器以tomcat作为服务器的ssl证书配置,开放https安全访问。 阅读详情

相关推荐

Tomcat6+7+8SSL证书部署操作指南

Tomcat服务器是大家经常用到的web服务器,部署SSl证书增加了网站的安全性,本文档提供了安装SSl证书的方法

Tomcat绑定配置多个证书Https证书

Tomcat绑定多个证书Https证书 一、问题描述 在实际业务需求中,一个项目配置了多个域名映射,在给其中某个域名配置了Https证书后,使用其他域名访问,会提示 “您的连接不是私密连接”.... , 查看原因后,发现Https证书不能和其他域名共享。(例子:A域名配置Https证书,访问B域名,使用的...

HaHa_Sir的博客 3580

计算机视觉三大顶会(ICCV/CVPR/ECCV)投稿指南与趋势解析

本文详细解析计算机视觉三大顶会(ICCV/CVPR/ECCV)的投稿指南与最新趋势。从基础认知到实战经验,涵盖时间线管理、选题策略、论文写作技巧及实验设计要点,帮助研究者提升投稿成功率。特别关注2024年技术融合、评估维度和伦理要求等前沿趋势,为计算机视觉领域的研究者提供实用建议。

weixin_29165725的博客 1832

server.xml 多ssl

近日,帮一个朋友配置一台服务器,在该服务器上启动一个Tomcat运行两个应用,分别对应两个域名:www.domain1.com和www.domain2.cn,对于http协议(80端口),只要配置Tomcat的虚拟主机就可以了。 但朋友为了数据的安全性,分别为每个域名购买了一个CA证书。这就要求在一个Tomcat上配置两个证书。在网上搜了好久,没见有相同的案例。只查到有人说了...

weixin_30379531的博客 331

浅谈python反序列化漏洞

0x01 python序列化与反序列化 Python 的序列化和反序列化是将一个类对象向字节流转化从而进行存储和传输,然后使用的时候再将字节流转化回原始的对象的一个过程。python中的序列化操作是通过pickle模块,而该模块主要包含l dumps将dict转化为str格式,loads将str格式转化为dict格式。 dump和load与文件操作结合起来, pickle.dump(obj, f...

Lethe's Blog 3219

人工智能训练师技能等级认定四级技能考核试卷-样题1

本文为人工智能训练师四级技能考核试卷,包含六个实操考核项目,总分100分,考试时间150分钟。试卷涵盖数据处理、模型训练准备及系统维护等核心技能:1)垃圾分类数据集规范与处理(30分),要求评估数据格式并编写Python处理代码;2)学生成绩数据集分析(20分),涉及数据预处理、可视化及相关性分析;3)数据标注审核(10分),重点审核标注准确性;4)智能数据服务系统维护与优化(40分),包括安全帽数据集的项目创建、数据处理及平台协作。考核强调Python编程、数据处理平台操作及AI工作流程的实践能力。

weixin_42221934的博客 437

Tomcat9 配置多个SSL证书

Tomcat9 配置多个SSL证书

★ 赵戬 ★ 一名JAVA程序员的博客 886

【chips】个人笔记系列-SystemVerilog

个人整理的Systemverilog笔记。

Hide_in_Code 2057

一个tomcat下部署多个项目或一个服务器部署多个tomcat

最近需要把两个项目同时部署到服务器上,于是研究了一下,页借鉴了很多别人的方法,把过程记录下来,以儆效尤。 目录: 1,一个tomcat下同时部署两个项目(多个项目可以参考) 1.1项目都放在webapps内(共用一个端口) 2)处理重复jar包。 3)tomcat端口默认为8080.如果想修改可以去conf下的server.xml中进行修改 4)启动tomcat 2,一台服务器上同时

内沐的博客 3万+

线性回归LinearRegression

对视频中线性回归算法的相关内容进行总结与记录 文章目录一、理论基础二、实例2.1 一元线性回归2.1.1 推导过程2.1.2 代码实现(基于numpy)2.1.3 代码实现(基于sklearn)2.2 多元线性回归2.2.1 代码实现(基于numpy)2.2.2 代码实现(基于sklearn) 一、理论基础 回归 通常是指利用某个函数,尽可能把数据样本点“串”在一起,用于描述输入变量和输出变量间的变化关系 线性回归 特点:用来把数据“串”起来的那个函数是线性的 (一元线性回归(一个自变量) &a.

邱邱邱的博客 1066

基于Python的彭博社新闻高效爬取实战:最新技术与完整代码解析

本文将详细介绍如何使用Python最新技术构建一个高效的彭博社(Bloomberg)新闻爬虫系统。我们将从爬虫基础概念讲起,逐步深入到高级反反爬技术、异步抓取、数据解析与存储等核心环节。文章包含完整的代码实现,采用最新的aiohttp、Playwright等技术栈,并特别关注法律合规性和数据质量保障。通过本文,读者将掌握一个完整的商业新闻爬虫开发流程,并能够根据实际需求进行定制化开发。关键词:Python爬虫、彭博社、Bloomberg、新闻采集、aiohttp、Playwright、反反爬技术。

2201_76125261的博客 1503

tomcat配置单个、多个SSL证书(linux环境)

Tips:证书文件可以放到任意目录下,只要保证在server.xml里配置的路径准确即可。保存修改,重启tomcat,修改生效。证书安装完成后,可以通过访问证书绑定域名的方式验证证书是否安装成功。证书安装完成后,可以通过访问证书绑定域名的方式验证证书是否安装成功。在Tomcat安装目录下,创建cert目录,将解压的证书和密码文件拷贝到cert目录下。在Tomcat安装目录下,创建cert目录,将解压的证书和密码文件拷贝到cert目录下。下载证书文件到本地,应该包括一个pfx证书文件、一个密码文件。...

hippo95的博客 2602

AUTOSAR&UDS 理论要点及isolar实战-DEM模块

从这节开始,将讲解UDS诊断中非常重要的知识点:故障事件触发、故障信息上报、故障信息处理、故障信息存储和故障系统降级,后续会陆续更新。

cqaa11的博客 552

一个Tomcat配置多个SSL证书

前两天没事的时候去阿里云瞎逛的时候发现可以免费申请SSL证书,就去申请了几个玩玩,但是申请完成后在Tomcat配置的时候遇到了几个坑,下面就教大家配置一下 下面是我的域名: www.gaiys.com 6ltv.com vyide.com gyf520.com wen...

分享网站开发、工具实现、SEO、数据统计以及项目迭代过程中遇到的一些问题和解决方案。 4096

高通SDX35:SGMII接口PHY RTL8211FSI-CG驱动适配

高通SDX35 RTL8211F SGMII

不秃头的程序猿Gabriel的博客 785

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Tomcat配置多个ssl安全证书

关于使用Tomcat8.5配置多个域名和ssl免费证书首先得有备案域名和服务器找到自己用的证书(我以腾讯申请的为例)证书有了,接下来就是配置Tomcat 首先得有备案域名和服务器 我用的是阿里的ECS,域名自己想法,然后在腾讯、阿里、七牛等平台申请免费ssl证书,这个可以使用一年,到时候需要重新申请,如果不差钱可以直接买多域名的证书,就没有这么麻烦了 找到自己用的证书(我以腾讯申请的为例) 首先把...

qq_38951418的博客 5413

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

tomcat 多https证书配置

tomcat 多https证书配置 最近在做小程序,要求request合法域名是https的,其实可以在开发工具中取消验证: 但是由于没有捣鼓过https,于是就捣鼓了一下。 我们先在腾讯云:https://console.cloud.tencent.com/ssl证书管理里填写相应信息申请就行。 比如我要申请这两个: 填写两个信息申请就可以了。等验证通过后下载文件: 如...

bubbleTg的博客 1133

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

小程序微服务单个SSL证书部署多个项目解决方案

小程序微服务单个SSL证书部署多个项目解决方案 玩过小程序的人,都知道小程序上线的要求比较苛刻,并不是上架审核苛刻,而是前期的服务器上架比较麻烦,需要配置SSL证书,并且只能使用80端口,或者你已经成功部署了一个微服务,但是当你第二小程序要上线的时候,你发现又需要申请证书,重新配置一遍,非常麻烦,我就在想有办法解决这个问题吗?后来发现Nginx的反向代理可以实现我的想法,然后就撸起袖子就是干了,写...

熬夜星人博客 1473

单个Tomcat8实现域名+SSL完成https访问多个项目配置教程

1. 配置server.xml分析:          1.1 域名访问默认端口号是80,所以先修改端口号,然后是redirectPort为443          1.2 多个项目需要配置多个host,其中需要注意每个host下默认项目访问路径          1.3 配置阿里云免费SSL证书注意添加修改标红的地方&lt;?xml version="1.0" encoding="UTF-8"?...

猴戏浅滩的博客 8148

一个tomcat配置多个jks证书

pfx格式的不会配置,不过可以先去jdk安装目录bin文件夹下使用cmd将pfx格式的证书转换为jks证书 cmd命令: keytool -importkeystore -srckeystore pfx证书.pfx -srcstoretype pkcs12 -destkeystore jks证书.jks -deststoretype JKS 回车后会让输入密钥口令,再次输入密钥口令,输入新...

我的博客 1172
上一篇: Nginx 配置ssl 证书
下一篇: Mysql 定时导出sql 脚本
农夫YH
博客等级 码龄10年 55粉丝 37原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值