设为首页 收藏本站
查看: 805|回复: 0

[经验分享] tomcat 部署 https

[复制链接]

尚未签到

发表于 2015-8-8 10:10:36 | 显示全部楼层 |阅读模式
tomcat 部署 https



  • 在 startssl 上申请认证, 最后你会得到两个文件: ssl.key 和 ssl.crt, 建立一个新目录, 把这两个文件拷贝到该目录
  • 下载 https://www.startssl.com/certs/ca.pem 和 https://www.startssl.com/certs/sub.class1.server.ca.pem
  • 运行
    cat ssl.crt ca.pem sub.class1.server.ca.pem > chain.crt
  • 运行
    openssl pkcs12 -export -in chain.crt -inkey ssl.key -out keystore.pkcs12 -name tomcat
    使用密码 "PASSWORD"
  • 运行 (可选, 该步为校验步骤)
    keytool -list -rfc -keystore keystore.pkcs12 -storetype pkcs12
    注意: 结果中要含有如下的一行 "Certificate chain length: 3"
  • 运行
    keytool -importkeystore -srckeystore keystore.pkcs12 \
    -srcstoretype PKCS12 -destkeystore keystore \
    -srcalias tomcat -destkeypass PASSWORD
    (注意: 此处的 PASSWORD 需要与目标 store 的密码一致)
  • 运行
    cp keystore $TOMCAT_HOME/conf/
  • 修改 $TOMCAT_HOME/conf/server.xml, 去掉 SSL Connector 附近的注释, 内容如下:

  • 把其余的 redirectPort="8443" 改为 redirectPort="443"
  • 重启 tomcat
  • 调整防火墙,启用 443 端口
  • 备份 ssl.key 和 ssl.crt 到安全位置, 删除整个目录, 设置 $TOMCAT/conf/keystore 的属主为 tomcat 的运行用户, 设置权限为 640 或更低权限


注意事项:

  • ssl.crt ca.pem sub.class1.server.ca.pem 都必须是 PEM 格式 (看起来类似base64)
  • 所有步骤中建议使用同一套密码
  • 此处对密码的要求不是很高, 因为运营机器上的 root 用户能同时拿到 keystore 和 server.xml, 密码再复杂也无效, 非 root 用户拿不到 keystore, 所以是安全的
  • 如果有更高的安全要求, 建议修改 tomcat 的启动脚本, 在启动时手动输入密码, 设置为环境变量, 然后在 server.xml 中使用环境变量来获得密码 (仍然有问题, root 不在自己手上, 安全经常是幻像)
  • Firefox, Chrome, IE 下均不会报警, 但 Java 客户端仍然不能使用, 解决方法如下

    • 运行: wget https://www.startssl.com/certs/ca.pem
    • 运行: keytool -importcert -trustcacerts -file ca.pem -keystore foo -storepass changeit
    • 把 foo 拷贝到你的程序中

    • 把如下两行代码加到你的程序 main 函数中:
      System.setProperty("javax.net.ssl.trustStore", "/path/to/foo");
      System.setProperty("javax.net.ssl.trustStorePassword", "changeit");



http://onexin.iyunv.com/source/plugin/onexin_bigdata/https://blogger.googleusercontent.com/tracker/6324560-935051461365761190?l=blog.lidaobing.info

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-95372-1-1.html 上篇帖子: 读《how to tomcat works》(1)--tomcat的大致结构 下篇帖子: JPetStore在Tomcat上部署方法(不考虑Eclipse及Struts或Spring)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表