`

Tomcat配置https环境(Windows+Linux)单向认证

 
阅读更多
Tomcat配置https环境(Windows+Linux)

windows下的配置主要是参考:http://blog.csdn.net/supersky07/article/details/7407523

我需要的主要还是linux下的配置,不过windows下和linux下的原理应该差不多,并且windows下讲解比较清楚,因而记录下来以便于进行对比。

Windows下Tomcat配置https环境:

(1)进入到jdk下的bin目录

(2)输入如下指令“keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore”


d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行中进行操作,否则是无法创建tomcat.keystore的。本例放到d盘下。
如何以管理员身份进入到命令行下呢?开始->搜索框中输入cmd->等待(注意不回车)->出现cmd.exe->右键“以管理员身份运行”即可。

解释:

keytool -genkey:自动使用默认的算法生成公钥和私钥

-alias[名称]:给证书取个别名

-keyalg:制定密钥的算法,如果需要制定密钥的长度,可以再加上keysize参数,密钥长度默认为1024位,使用DSA算法时,密钥长度必须在512到1024之间,并且是64的整数倍

-keystore:参数可以指定密钥库的名称。密钥库其实是存放密钥和证书文件,密钥库对应的文件如果不存在会自动创建。

-validity:证书的有效日期,默认是90天

-keypass changeit:不添加证书密码

-storepass changeit:不添加存储证书的密码

输入相关信息后,最后确认,便会在tomcat根目录下生成server.key文件。

 

(3)输入keystore密码


密码任意,此处以123456为例,要记住这个密码,之后在进行server.xml配置时需要使用。

(4)输入名字、组织单位、组织、市、省、国家等信息

(5)输入之后会出现确认的提示

此时输入y,并回车。此时创建完成keystore。
进入到D盘根目录下可以看到已经生成的tomcat.xml

(6)输入tomcat的主密码


可以直接回车,默认为同keystore的密码一样。
之后,会显示正在存储即完成。

(7)进入tomcat文件夹

找到conf目录下的sever.xml并进行编辑

将所有以<Connector port="8443" 开头的connector注释。

(8)在sever.xml中添加加载keystore的代码


注意方框中的keystore的密码,就是刚才我们设置的“123456”.
编辑完成后关闭并保存sever.xml。

(9)启动tomcat。

若出现如下错误“Keystore was tampered with,or password was incorrect”,即第(8)步设的密码出错了。请核对密码,重新编写sever.xml。

 

(10)启动成功后,使用https://127.0.0.1:8443 访问页面

页面成功打开即tomcat下的https配置成功。

(11)应用程序HTTP自动跳转到HTTPS

在应用程序中web.xml中加入:

<security-constraint>

<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>

(12)注意事项

1. 生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”

2.如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的

 

支持特定页面采用HTTPS传输,普通页面采用HTTP传输:

HTTPS相比HTTP来说,最大的好处就是安全,但是为了安全付出的代价是牺牲了性能。

所有我们需要采取控制,对特定需要https的页面采用https传输,普通页面采取http传输。

我们采用了过滤器,过滤器中的逻辑是这样子的,分为四种情况:

1.当前协议是HTTPS,当前请求的URL是需要采取HTTPS传输的URL,直接请求页面

2.当前协议是HTTPS,当前请求的URL是不需要采取HTTPS传输的URL,重定向到HTTP的端口

3.当前协议是HTTP,当前请求的URL是不需要采取HTTPS传输的URL,直接请求该页面

4.当前协议是HTTP,当前请求的URL是需要采取HTTPS传输的URL,重定向到HTTPS的端口。

 

Linux的参考网址:http://wenku.baidu.com/view/5f7c090016fc700abb68fc4c.html

1:安装jdk,
[root@localhost ~]# ls jdk-1_5_0_19-linux-i586.bin
jdk-1_5_0_19-linux-i586.bin
[root@localhost ~]# pwd
/root
[root@localhost ~]# chmod a+x jdk-1_5_0_19-linux-i586.bin 
[root@localhost ~]# ./jdk-1_5_0_19-linux-i586.bin
 
在当前目录下生成jdk1.5.0_19目录。 
我把它移到/usr/local目录下。 
[root@localhost ~]# mv jdk1.5.0_19  /usr/local/
[root@localhost local]# ln -s jdk1.5.0_19 jdk

下面是配置路径:
[root@localhost local]# vi /etc/profile
在文件的最后加入:
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后运行如下命令使得不重启机器就生效:
[root@localhost local]# source  /etc/profile
2:安装tomcat, 其实上面配置路径就是为了tomcat能正常启动, 因为tomcat启动时需要用到到jdk,

[root@localhost local]# tar zxvf apache-tomcat-5.5.26.tar.gz
[root@localhost local]# ln -s apache-tomcat-5.5.26 tomcat5.5

3:生成证书:
[root@localhost ~]# keytool -genkey -alias .keystore -keyalg RSA
Enter keystore password:  hellohello
What is your first and last name?
[Unknown]:  liu  #这项要和你linux server的机器名一样,这样有好处!查linux server的机器名,可以用hostname命令
What is the name of your organizational unit?
[Unknown]:  bea
What is the name of your organization?
[Unknown]:  bea
What is the name of your City or Locality?
[Unknown]:  suzhou
What is the name of your State or Province?
[Unknown]:  suzhou
What is the two-letter country code for this unit?
[Unknown]:  cn
Is CN=liu, OU=bea, O=bea, L=suzhou, ST=suzhou, C=cn correct?
[no]:  yes

Enter key password for <.keystore>
        (RETURN if same as keystore password):  hellohello

尤其注意:两次输入的密码一定要一样!而且生成的.keystore的位置在~下(我用的是root,故在/root下)
[root@localhost ~]# find / -name .keystore
/root/.keystore
然后复制该文件到/usr/local/tomcat5.5下(我tomcat安装在/usr/local目录下!)
查看该文件的时候用ls -a
4:对server.xml做配置,
[root@localhost ~]# cd /usr/local/tomcat5.5/
[root@localhost tomcat5.5]# ls
bin  common  conf  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[root@localhost tomcat5.5]# pwd
/usr/local/tomcat5.5
[root@localhost tomcat5.5]# ls -a
.  ..  bin  common  conf  .keystore  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[root@localhost tomcat5.5]# cd conf/
[root@localhost conf]# ls
Catalina  catalina.policy  catalina.properties  context.xml  logging.properties  server-minimal.xml  server.xml  tomcat-users.xml  web.xml
[root@localhost conf]# pwd
/usr/local/tomcat5.5/conf
[root@localhost conf]# vi  server.xml
 
修改部分如下:
先把关于下面的注视去掉:
  <Connector port="443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               keystoreFile="/usr/local/tomcat/.keystore"
               keystorePass="hellohello"
               clientAuth="false" sslProtocol="TLS"
 />
粗体是我修改的部分
4: 启动tomcat 
[root@localhost conf]# cd /usr/local/tomcat5.5/
[root@localhost tomcat5.5]# ls
bin  common  conf  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[root@localhost tomcat5.5]# cd bin/
[root@localhost bin]# ls
bootstrap.jar       commons-logging-api-1.1.1.jar  jmxaccessor-tasks.xml  shutdown.bat  tomcat5w.exe          version.bat
catalina.bat        cpappend.bat                   jsvc.tar.gz            shutdown.sh   tomcat-juli.jar       version.sh
catalina.sh         digest.bat                     service.bat            startup.bat   tomcat-native.tar.gz
catalina-tasks.xml  digest.sh                      setclasspath.bat       startup.sh    tool-wrapper.bat
commons-daemon.jar  jkstatus-tasks.xml             setclasspath.sh        tomcat5.exe   tool-wrapper.sh
[root@localhost bin]# pwd
/usr/local/tomcat5.5/bin
[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat5.5
Using CATALINA_HOME:   /usr/local/tomcat5.5
Using CATALINA_TMPDIR: /usr/local/tomcat5.5/temp
Using JRE_HOME:       /usr/local/jdk
[root@localhost bin]# netstat -antl | grep 443
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN     
[root@localhost bin]# 
这里tomcat已经启动了。 
5:测试:启动浏览器

分享到:
评论

相关推荐

    tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间有什么区别

    tomcat安装及配置教程tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间有什么区别tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间...

    linux+apache+tomcat+mysql+jsp+php

    超级无敌web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客,现在换地盘了转过来... 自我感觉写得还是不错滴.. 在安装过程更是学到了很多东西 做好这个项目以后linux...

    在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发

    idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何...

    linux下tomcat+JDK+redhat配置文档+安装软件

    linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+...

    Tomcat在Windows与Linux环境下的安装与配置教程+Tomcat如何安装与配置

    tomcat安装及配置教程:Tomcat在Windows与Linux环境下的安装与配置教程+Tomcat如何安装与配置; tomcat安装及配置教程:Tomcat在Windows与Linux环境下的安装与配置教程+Tomcat如何安装与配置; tomcat安装及配置教程...

    配置JDK+Tomcat+mysql的linux命令

    Linux配置JDK+Tomcat+mysql的linux命令,首先先去官网下载

    Tomcat配置HTTPS证书认证

    本篇文章将详细介绍如何在Tomcat中配置HTTPS证书认证,以便实现安全的Web服务。 首先,我们需要了解HTTPS的基本原理。HTTPS是在HTTP协议的基础上加入SSL/TLS(Secure Socket Layer/Transport Layer Security)协议...

    tomcat下配置https环境

    Tomcat 下配置 HTTPS 环境详细指南 在本篇文章中,我们将详细介绍如何在 Tomcat 下配置 HTTPS 环境,包括生成密钥、配置 Tomcat 以及测试 HTTPS 连接。 一、生成密钥 在配置 HTTPS 环境之前,我们需要生成一个...

    利用tomcat服务器配置https双向认证、https单向认证-ssl、tls

    Tomcat作为流行的Java Servlet容器,提供了支持HTTPS协议的能力,这包括了单向认证(也称为服务器认证)和双向认证(也称为客户端认证)。这两种认证机制都是基于SSL(Secure Sockets Layer)和TLS(Transport Layer...

    Linux下JDK+Tomcat安装配置

    Linux下JDK+Tomcat安装配置 在本文档中,我们将详细介绍如何在CentOS系统上安装和配置JDK和Tomcat环境。以下是整个安装和配置过程的步骤。 一、下载所需文件 在开始安装之前,需要下载两个必要的文件:jdk-7u25-...

    MyEclipse安装过程+Tomcat配置+JDK安装+环境变量配置

    5. 启动与停止:通过bin目录下的startup.bat(Windows)或startup.sh(Linux/Mac)启动Tomcat,shutdown.bat/sh则用于停止Tomcat。 三、JDK安装 Java Development Kit(JDK)是Java编程的基础,包含编译器和运行...

    Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结

    ### Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结 #### 一、引言 本文旨在分享一套完整的Apache+Tomcat+MySQL+jsp+php环境的搭建经验,尤其适合初学者快速入门,并对有经验的开发者提供有价值的...

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    - 在Jenkins中创建新的任务,配置源码管理选择SVN,输入SVN仓库地址和认证信息。 - 配置构建触发器,可以选择定时触发或代码提交时触发。 - 配置构建步骤,使用Maven进行项目的编译、测试和打包。 - 配置构建后...

    Linux环境下Tomcat的https的配置

    在Linux环境中配置Apache Tomcat以支持HTTPS连接是提高Web应用安全性的重要步骤。HTTPS协议通过使用SSL/TLS加密,可以确保数据传输的安全性,防止中间人攻击。以下将详细讲解如何在Linux上的Tomcat服务器上配置HTTPS...

    Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用

    标题与描述均聚焦于“Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用”,这一主题涉及了多种技术栈的集成,包括Flex4.5(FlashBuilder)、Tomcat6.0、MyEclipse 9.0、Java以及Blazeds。...

Global site tag (gtag.js) - Google Analytics