一、基于Tomcat、JDK内置密钥工具:
1、生成服务端证书库(keystore证书库文件),用于客户端验证服务端的真实性
keytool -genkey -v -alias key_server -keyalg RSA -keystore e:\server.keystore -dname "CN=D-F005227,OU=youku,O=zhibohudong,L=beijing,ST=beijing,C=cn" -storepass Aa123 -keypass Aa123 -validity 36000
颁发者信息:
CN : 一般指本站点域名或站长姓名(common name)
OU : 组织单位名称(organization unit)
O : 组织名称(organization)
L : 城市或区域(location)
ST : 州或省份(state)
C : 两字母国家代码(country)
2、生成客户端证书(PKCS12文件),用于双向认证中服务端验证客户端请求来源是否合法用户
keytool -genkey -v -alias key_client -keyalg RSA -storetype PKCS12 -keystore e:\client.p12 -dname "CN=D-F005227,OU=youku,O=zhibohudong,L=beijing,ST=beijing,C=cn" -storepass Bb123 -keypass Bb123 -validity 36000
3、让服务端信任客户端证书,将客户端证书导出为CER文件
keytool -export -alias key_client -keystore e:\client.p12 -storetype PKCS12 -storepass Bb123 -rfc -file e:\client.cer
4、将step 3中导出的客户端证书(CER文件)导入到step 1中的服务端证书库中,以完成信任绑定
keytool -import -v -file e:\client.cer -keystore e:\server.keystore -storepass Aa123
5、Tomcat服务器配置,支持https安全连接(SSL双向验证,clientAuth=true|false|want)
打开TOMCAT_HOME\conf\server.xml,在<Service name="Catalina">下新增:
<Connector port="4433" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="true"
sslProtocol="TLS" keystoreFile="e:/server.keystore" keystorePass="Aa123"
truststoreFile="e:/server.keystore" truststorePass="Aa123"/>
6、让客户端导入证书,以便完成双向认证,正常访问
call e:/client.p12
7、导出服务端证书,安装在客户端(证书存储位置:授信任的根证书颁发机构),以便建立信任连接,保证客户端不会提示不信任的站点(如果服务端证书是经权威证书机构颁发,则无须执行该步骤)
keytool -export -alias key_server -keystore e:\server.keystore -storepass Aa123 -rfc -file e:\server.cer
call e:/server.cer
8、启动服务器,访问验证
输入地址:https://ip:4433,可爱的汤姆小猫出现了,且地址栏前面出现一把绿色的锁,OK,打完收工!
附:在开启双向SSL认证(clientAuth=true)时,使用Firefox浏览器访问会提示
这时需要手动按以下步骤导入客户端证书:
菜单 --> 工具 --> 选项 --> 高级 --> 证书 --> 查看证书 --> 您的证书 --> 导入 --> 选择client.p12 --> 输入客户端证书密钥 --> 提示导入成功 --> 确定 --> 刷新页面 --> over
二、基于Nginx、Linux下OpenSSL密钥工具
1、进入密钥、证书文件存放路径(自定义)
cd /etc/nginx/conf
2、生成2048位长的密钥,并用des3加密
openssl genrsa -des3 -nodes -out server.key 2048
-nodes 就是不需要密码,如果加密码则在nginx配置测试证书时会有问题
3、用step 2中生成的密钥来生成服务端证书请求文件
openssl req -new -key server.key -out server.csr
如果step 2中采用des3加密了,需要输入step 2设置的密码
颁发者信息:
Country Name:两字母国家代码
State or Province Name:州或省份
Locality Name:城市或区域
Organization Name:组织名称
Organizational Unit Name:组织单位名称
Email Address:邮件地址
A challenge password:为证书设置密码
An optional company name:公司名称(可不填写)
4、使用step 2中生成的密钥和step 3中生成的证书请求文件来生成服务端数字证书文件
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
5、Nginx配置
在http范围内增加如下配置
server {
listen 80;
server_name localhost d-f005227;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_verify_client on; # 开启客户端认证
ssl_client_certificate client.crt; # 客户端认证数字证书(生成方式省略)
location / {
proxy_pass http://localhost:8080 ;
}
}
分享到:
相关推荐
接着,再次编辑Tomcat的server.xml配置文件,配置SSL连接器,指定新生成的JKS证书。同样,Linux3也需要执行相同的操作。 最后,为了实现负载均衡和反向代理,可以配置Linux1作为Nginx服务器。Nginx可以接收来自外部...
案例中搭建Tomcat服务器的过程是一个重要的知识点,主要包括安装Tomcat软件、配置环境变量、部署Web应用、启动和测试Tomcat服务器。在部署Web应用时,通常需要将应用的WAR包放置到Tomcat的webapps目录下,Tomcat会...
在构建高可用的Web服务时,Nginx作为反向代理服务器和负载均衡器,常常与Tomcat这样的Java应用服务器配合使用。然而,当多个Tomcat实例构成集群时,会面临一个问题:用户session的共享。Session是Web应用程序用来...
真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步问题等等,直接把 Web 应用的 war 包,放进Tomcat的 webapps ...
本文将详细介绍如何在Linux环境下搭建基于Nginx的双向认证服务,并结合Tomcat实现SSL加密,旨在为Web应用提供更高级别的安全保障。 #### 二、准备工作 在正式开始之前,我们需要准备以下几项工作: 1. **系统环境...
私有证书权威机构(CA)的搭建及其在Tomcat和Springboot中的应用是网络安全和身份验证的重要环节。本文将详细阐述这一过程。 首先,我们理解一下CA的基本概念。CA是证书权威机构,它负责签发和管理数字证书,确保...
1. 在主服务器上配置复制,生成binlog,然后将binlog文件和配置文件传输到从服务器。 2. 在从服务器上配置复制,设置为只读模式,并开始从主服务器同步数据。 **四、Redis安装** 1. 下载并解压Redis源码: ```...
在IT行业中,Nginx、Memcached和Tomcat都是非常重要且广泛应用的软件组件。下面将分别详细介绍这三个组件以及..."nginx所需架包和安装包"这样的资源集合对于IT从业者来说是非常宝贵的,便于快速搭建和维护这样的环境。
在构建高性能的Web服务环境中,Nginx、Memcache、Linux和Tomcat的集群组合是一个常见的解决方案。这个集群架构能够提供高可用性、负载均衡以及缓存优化,从而提高系统的响应速度和处理能力。 首先,让我们详细了解...
【openssl证书配置与使用】 在IT领域,网络安全是至关重要的,而SSL(Secure Sockets Layer)证书则是确保网站数据传输安全的重要工具。本实验主要涉及的是如何在不同的操作系统上配置和使用openssl证书,以实现...
五、案例:Haproxy+Nginx+Tomcat搭建高可用集群 1. 配置Haproxy作为负载均衡器,根据预设的调度算法(如轮询、最少连接、源IP等)将请求分配到多个Nginx实例。 2. 配置Nginx实例,将静态资源映射到本地文件系统,...
6. **objs** 目录:可能包含编译生成的动态库和其他对象文件,这些通常在编译自定义Nginx时才会出现,对于预编译的绿色版可能不存在。 7. **modules** 目录(如果存在):可能包含Nginx的一些附加模块,例如用于...
最后,Nginx证书配置包括生成CSR(Certificate Signing Request),然后在Windows1上使用OpenSSL工具生成证书。生成的证书和私钥需要在Linux1上安装,并配置Nginx以使用这些证书,实现仅允许通过域名访问,且HTTP...
### Tomcat安装及配置教程详解 #### 一、Tomcat简介 ...通过以上步骤,你可以快速搭建起Tomcat服务器,并根据具体需求进行相应的配置和优化。这份教程旨在帮助初学者和需要部署Java Web应用程序的开发者快速上手。
从这个标题中可以看出文档的主要内容围绕着如何在Linux环境下配置LANMP(Linux、Apache、Nginx、MySQL和PHP)环境,并集成Tomcat服务。以下是对这个环境配置与集成过程的详细讲解。 ### Linux操作系统 Linux是一种...
总结,Tomcat 7是一个强大且灵活的Web服务器,通过深入理解其配置文件和集群搭建,可以为开发者提供稳定、高效的运行环境。希望本文的详细讲解能帮助你更好地理解和操作Tomcat,从而在实际项目中发挥出它的最大潜力...
开发者可以利用Tomcat搭建快速开发环境,也可以与Apache HTTP Server、Nginx等进行集成,形成高性能的Web服务器架构。 总的来说,Apache Tomcat 10.0.23是Java Web开发者的理想选择,它提供了高效、可靠且灵活的...