Ubuntu系统学习笔记-7.Tomcat下设置https的一个小问题
2016-12-09 09:53
316 查看
一般我们写的javaweb网站都运行在tomcat容器中,使用的都是http协议,使用get明文传输,由于没有加密,所以整个数据的传输中,都是有可能被抓取、劫持或篡改(如中间人攻击,嗅探)。所以一些关键的服务需要用的https协议。昨天在尝试https时也遇到了一个问题,在这里就拿出来分享一下。
一、证书问题
为了做测试肯定不会专门去买一个证书,所以当然使用java的keytool自签发一个证书,在终端中输入:
生成密钥
keytool -genkey -alias ‘名称’ -keyalg RSA -keystore ‘名称’.jks -validity 3600 -storepass ‘密码’
签发证书
keytool -export -alias ‘名称’ -file ‘证书名称’.cer -keystore ‘名称’.jks -storepass ‘密码’
然后修改tomcat的conf下的server.xml,开放8443端口,并加载jks文件,
<Connectorport="8443"protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="xxx.jks" keystorePass="密码"
clientAuth="false" sslProtocol="TLS" />
这里有一点很重要,就是在生成密钥对是,第一项,即CN项,一定要写域名(如本机就填写localhost),后面信息的可以随意,因为我在局域网中测试,一开始直接写的ip,然后发现部署到tomcat上之后,即使已经给浏览器安装了签发的证书,仍然有警告,提示站点不符的错误。因此,我把CN改成了localhost,访问的时候直接在地址栏填入localhost:8443再次安装新证书之后,就不再警告了。如果使用STS这样的编译器,则应该修改和工程同目录下的Server文件夹里面tomcat的server.xml。
一、证书问题
为了做测试肯定不会专门去买一个证书,所以当然使用java的keytool自签发一个证书,在终端中输入:
生成密钥
keytool -genkey -alias ‘名称’ -keyalg RSA -keystore ‘名称’.jks -validity 3600 -storepass ‘密码’
签发证书
keytool -export -alias ‘名称’ -file ‘证书名称’.cer -keystore ‘名称’.jks -storepass ‘密码’
然后修改tomcat的conf下的server.xml,开放8443端口,并加载jks文件,
<Connectorport="8443"protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="xxx.jks" keystorePass="密码"
clientAuth="false" sslProtocol="TLS" />
这里有一点很重要,就是在生成密钥对是,第一项,即CN项,一定要写域名(如本机就填写localhost),后面信息的可以随意,因为我在局域网中测试,一开始直接写的ip,然后发现部署到tomcat上之后,即使已经给浏览器安装了签发的证书,仍然有警告,提示站点不符的错误。因此,我把CN改成了localhost,访问的时候直接在地址栏填入localhost:8443再次安装新证书之后,就不再警告了。如果使用STS这样的编译器,则应该修改和工程同目录下的Server文件夹里面tomcat的server.xml。
相关文章推荐
- Ubuntu系统学习笔记-3.Java和Tomcat安装
- 【linux系统学习笔记】运行startx后Ubuntu密码正确进不去的问题
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 我的学习笔记 --Ubuntu8.10下jdk与tomcat的安装设置
- Jsp&Servelet 学习笔记- 在tomcat上部署一个单独的servlet的程序(Ant)
- Struts 1 学习笔记-5-2(编写一个简单的支持I18N的登录系统)
- Tomcat中因时区设置问题导致与系统时间不一致问题
- WPF学习笔记(2):在Style中设置ToolTip的问题.
- 黑马程序员_学习笔记4 IO流以及正则表达式解决一个传智播客的问题
- 安装ubuntu之后,win7下设置默认系统问题
- linux 系统管理笔记 2. --- ubuntu root初始密码设置
- ArcGIS Mobile 9.4学习笔记七之Windows Mobile模拟器设置问题
- JavaWeb技术学习笔记(2)-关于tomcat的几个问题
- Flex解决“无法为区域设置“zh_CN”解析资源束“ViewerStrings””问题总结(学习笔记)
- Flex 学习笔记 页面初始化设置TextInput焦点失败问题
- linux(ubuntu10.04)系统安装jdk,tomcat常见问题
- mysql学习笔记(二)之一个粗心的问题
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(3) 最大子序列和问题
- ArcGIS Mobile 9.4学习笔记七之Windows Mobile模拟器设置问题
- MCSE 2003学习笔记 十二 创建一个HTTPS网站