Tomcat配置https

1      生成Server端安全证书

要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书。如果有条件的话,可以向权威CA申请一份经过认证的安全证书(需要繁琐的手续和金钱)。如果没有条件的话,可以使用JDK提供的证书生成工具,在Windows命令行中操作如下:

C:\> keytool -genkey -keyalg RSA -keysize 1024  -sigalg SHA1withRSA -dname "cn=127.0.0.1,ou=product,o=nokia,c=CN" -validity 3650 -storepass nokia12345 -keystore c:\key.store

输入<mykey>的主密码

(如果和 keystore 密码相同,按回车):(按回车)

这样就在C:\目录下生成了Server端的安全证书(key.store)。

备注:Linux下创建证书时,只需要更改上面命令的路径信息,其余不变。

注意:

  1. 生成安全证书的工具keytool的参数validity表示证书的有效期,单位为天,需要根据实际需要配置。
  2. 作为Server端安全证书,CN字段必须与WEB应用的实际域名保持一致,否则会使客户端报证书名称不一致。
  3. 由于某些web容器的原因,keypass和storepass必须保持一致。
  4. 打开Tomcat安装目录下的/conf/server.xml文件。
  5. 修改http重定向到https的端口:

2      添加Server端安全证书

<Connector executor="tomcatThreadPool"

port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="443" />

注意:不同的tomcat版本,其配置项可能有一定差别,请在原配置文件上修改蓝色部分即可。

  1. 修改https参数

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

ciphers="SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"

keystoreFile="c:/cert/key.store" keystorePass=" nokia12345 "

clientAuth="false" sslProtocol="TLS" />

注意:

keystoreFile参数的文件名请使用绝对路径,keystorePass参数上的口令即storepas口令。

  1. 如果SSL不能正常启动,可以指定使用Java Secure Socket Extension (JSSE),即将protocol="HTTP/1.1"修改为protocol="org.apache.coyote.http11.Http11Protocol"

3      配置需要强制使用SSL的目录或文件

例如对于/SSL目录下的所有文件和/test/login.jsp需要强制使用SSL,则编辑Tomcat对应web应用目录下的WEB-INF/web.xml,在<web-app>节中加入如下配置:

<security-constraint>

<web-resource-collection>

<web-resource-name>SSL</web-resource-name>

<url-pattern>/SSL/* </url-pattern>

<url-pattern>/test/login.jsp</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

注意:

Web应用中,从https切换到http过程中会丢失session,无法保持会话的连续。解决的办法就是用http-https-http过程代替https-http过程,保证会话的连续性。

4      重新启动Tomcat

5      测试建议

  1. 在浏览器里输入:https://xx.xx.xx.xx:8443,应能通过SSL正常访问。
  2. 对于https切换到http页面需要重点进行测试,检查切换后会话是否中断。
  3. 在手机终端上进行测试,看能否正常使用。(如果有手机终端用户的话)。
  4. 使用SSL后,对性能会有影响,可进行性能测试。(可选)

apache Tomcat配置SSL(https)步骤的更多相关文章

  1. linux apache Tomcat配置SSL(https)步骤

    https简介 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的 ...

  2. SpringBoot 2.x中为tomcat配置ssl(https)支持

    参考来源:https://www.cnblogs.com/imfjj/p/9058443.html https://blog.csdn.net/jackymvc/article/details/810 ...

  3. TOMCAT配置SSL认证为HTTPS协议服务

     1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...

  4. Tomcat 配置成https协议

    Tomcat 配置成https协议 在命令提示符窗口,进入Tomcat目录,执行以下命令:  keytool -genkey -alias tomcat -keyalg RSA -keypass ch ...

  5. (转)Tomcat 配置成https协议

    Tomcat 配置成https协议 TomcatXMLServlet  在命令提示符窗口,进入Tomcat目录,执行以下命令: keytool -genkey -alias tomcat -keyal ...

  6. Let's Encrypt+Apache+Tomcat实现免费HTTPS

    Let's Encrypt是一个免费SSL证书发行项目,发行的证书已经获得主流浏览器的支持,亲测谷歌浏览器(桌面版).火狐浏览器(桌面版).UC浏览器(手机版).360浏览器(手机版)支持,其它的暂没 ...

  7. 华为云服务器为Tomcat配置SSL

    近期由于开发小程序需要在云服务器上配置https访问协议,也遇到了一点小问题,把配置过程记录一下:SSL 证书申请下来之后会有 .jks .crt .pfx .pem为后缀的文件(如何申请SSL证书这 ...

  8. Tomcat配置SSL

    Tomcat配置SSL 查询网上资料配置如下: <Connector port="8443" protocol="HTTP/1.1" maxThreads ...

  9. 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...

随机推荐

  1. Struts2(九)OGNL标签一与Struts2标签

    一.什么是OGNL  Object Graph Navigation Language对象图导航语言. 是Struts2默认的表达式语言,开源,功能更强大.和EL表达式有点相似 存取对象的属性,调用对 ...

  2. innosetup完整脚本

    #define MyAppName "Somarto"#define MyAppVersion "1.0.0"#define MyAppPublisher &q ...

  3. 动态加载jar包(二)

    上次说的加载jar包,有几个问题没有解决: 1.如果项目包含了其他的jar包如何解决? 2.如何规范上传的jar包的类和方法? 下面就解决一下上面两个问题 一.首先编写被调用的类,这次使用maven工 ...

  4. WINDOWS7 下 xclient 802.1x 客户端 停止运行的解决办法

    昨天下午,由于FOXMAIL 出现问题,修改了一个地方,导致xclient 停止运行.具体解决办法如下:右击“计算机”-进入“系统属性”-->“高级”-->"设置"-- ...

  5. merge-intervals 合并区间

    Given a collection of intervals, merge all overlapping intervals. For example,Given[1,3],[2,6],[8,10 ...

  6. 【DB2】性能管理视图

    1.性能管理部分视图列表 可以使用命令db2 list tables for schema sysibmadm获取所有的性能管理视图 视图名称              模式名            ...

  7. django之创建第8-3个项目-数据库数据提取之高级操作

    1.配置test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  8. 转 安装php时报gd相关的错误(gd_ctx.c)

    在安装php时,报如下错误 In file included from /kk/php-5.4.0/ext/gd/gd.c:103: /kk/php-5.4.0/ext/gd/gd_ctx.c: In ...

  9. 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友

    看到有人在ps区咨询如何安装3d max教程,当你进行第一步之前,请先断开网络连接第一步:运行安装程序 第二步:接受安装协议,点击下一步会提示输入序列号 第三步:你会看到已经安装完成了的界面 第四部: ...

  10. Linux系统Ubuntu安装zookeeper

    1. 下载zookeeper二进制安装包 下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz ...