Ubuntu系统学习笔记-7.Tomcat下设置https的一个小问题

一般我们写的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。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值