【安装配置】Tomcat配置SSL证书步骤(含Element type “Connector“ must be followed by either attribute...的处理方案)

本文主要是介绍【安装配置】Tomcat配置SSL证书步骤(含Element type “Connector“ must be followed by either attribute...的处理方案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1. 先购买并下载证书,总结在这篇文章↓。
    • 2. 使用java jdk将PFX格式证书转换为JKS格式证书
    • 3. 将jks文件上传到tomcat/conf目录中
    • 4. 配置conf中的server.xml
      • ↓标题中异常的解决办法↓
    • 5.配置web.xml
    • 6.将443端口加入安全组入口
    • 7.完整server.xml文件拿去复制
      • Server.xml
      • web.xml

看完还有什么疑问,可以联系博主QQ1908269843,加的时候直接备注你遇到了什么情况。

想要网站以https://访问,需要将购买的SSL证书配置到Tomcat服务器中。
参考了几篇文章,花了几小时完成了。
在这里插入图片描述
先列出参考文章,然后再给出步骤和我的心得:
1.Tomcat配置SSL证书
2.Element type “Connector” must be followed by either attribute specifications
为了解决这个异常参考了以下两篇文章:http://blog.sina.com.cn/s/blog_5d2054d90102vt7y.html
https://blog.csdn.net/u014000377/article/details/50845920

步骤:

1. 先购买并下载证书,总结在这篇文章↓。

【安装配置】阿里云白嫖免费SSL证书步骤

2. 使用java jdk将PFX格式证书转换为JKS格式证书

下载的证书文件,解压后是这个样子:只有两个文件的,一个是pfx格式的证书,一个是密码文本。
在这里插入图片描述

在解压后的路径中输入cmd并回车,会进入该目录的命令行界面。
输入以下代码:

keytool -importkeystore -srckeystore 你的证书名称.pfx -destkeystore domains.jks -srcstoretype PKCS12 -deststoretype JKS

domains.jks是生成的jks格式证书名称,可以根据需要改。
回车,会提示你输入三次密码,建议三次都是输入密码文本的密码(复制以后邮件即可粘贴,在控制台不会显示,安心回车),成功后会在文件夹下生成domains.jks文件

如果是Tomcat9,此时还没完,Tomcat 9强制要求证书别名设置为tomcat。您需要使用以下keytool命令将protocol="HTTP/1.1"转换成protocol=“org.apache.coyote.http11.Http11NioProtocol”。

keytool -changealias -keystore domain name.jks -alias alias -destalias tomcat

在这里插入图片描述

3. 将jks文件上传到tomcat/conf目录中

这里每个人有自己的工具,不赘述。

4. 配置conf中的server.xml

找到:在这里插入图片描述
修改成以下代码:(443为https默认访问端口)

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"keystoreFile="conf/domains.jks"keystorePass="80ISkH7c"  //这里是刚刚设定的密码文本clientAuth="false" sslProtocol="TLS" />

↓标题中异常的解决办法↓

①属性间没加空格②复制上面的Connector代码和文件的编码不匹配会报错都会报这个错
Catalina.start using conf/server.xml: Element type “Connector” must be followed by either attribute !
解决办法是不复制,手敲进去,或者复制进去以后把空格全删掉再加上!

找到:在这里插入图片描述
改成:在这里插入图片描述
找到:
在这里插入图片描述

改成:
在这里插入图片描述
保存,退出。

5.配置web.xml

编辑web.xml
在该文件标签(一般在文件最末尾)后面加上这样一段:

<login-config>  <!-- Authorization setting for SSL -->  <auth-method>CLIENT-CERT</auth-method>  <realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  <!-- Authorization setting for SSL -->  <web-resource-collection >  <web-resource-name >SSL</web-resource-name>  <url-pattern>/*</url-pattern>  </web-resource-collection>  <user-data-constraint>  <transport-guarantee>CONFIDENTIAL</transport-guarantee>  </user-data-constraint>  
</security-constraint>

在这里插入图片描述

6.将443端口加入安全组入口

在这里插入图片描述
我是在阿里云买的服务器,所以到阿里云服务器的安全组改就行了,你在哪个厂商买的就到哪改。
有的可能不叫安全组,叫防火墙,总之把443开着,让用户能进去。

以上步骤都做完以后重启tomcat即可https访问。

如果你还有什么疑问,可以联系博主QQ1908269843,加的时候直接备注你遇到了什么情况。

7.完整server.xml文件拿去复制

Server.xml

  1. 其中keystorePass要改成自己从阿里云下载的证书文件的密码(解压后一个是pfx证书文件,一个是密码的文件)
  2. 这个文件中使用的是8080端口
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.startup.VersionLoggerListener" /><Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /><GlobalNamingResources><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><Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="443" /><Connector port="443"protocol="HTTP/1.1"SSLEnabled="true"scheme="https"secure="true"keystoreFile="/webservice/tomcat/tomcat/apache-tomcat-9.0.44/cert/pycxs.jks" keystorePass="改成自己的"   clientAuth="false"SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"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"/><Connector protocol="AJP/1.3"port="8009"redirectPort="443" /><Engine name="Catalina" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host></Engine></Service>
</Server>

web.xml

这文件太长了,没必要贴了,反正就是在welcome-file-list后边加点内容:
在这里插入图片描述

这篇关于【安装配置】Tomcat配置SSL证书步骤(含Element type “Connector“ must be followed by either attribute...的处理方案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/308685

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整