java web项目由http转换成https遇到的各种坑

这篇文章写给自己在经历项目由http转换成https遇到的各种坑所做的一份笔记,留给以后自己看,或者和开发的朋友也刚好遇到和我一样的问题的朋友。
由http转换成https要做的一些准备工作:
1.获得证书或者自制证书
2.配置项目的容器,例如tomcat,或者使用的nginx配置,来支持https协议

1.制作根证书

在学习的时候,一定是自己制作根证书来学习,我采用的是openssl来管理,签发证书。在非常快的制作了自己的根证书和服务器证书后,我把制作的根证书导入chrome浏览器,导入成功后,在tomcat相应的server.xml配置https,启动项目,在页面上始终无法受信任。原因有两点:
1.chrome对自制的证书要求很高,不被信任
2.在制作证书的时候,签发服务端证书时,有一个配置CN,这个就是证书颁发给的机构,换句话说就是域名,这个要记住,不然在页面地址写其他的域名也没有效果。

2.配置项目的容器

做测试学习的时候,只有一个服务器,所以直接在tomcat上面配置了https的代码,但是,项目上是集群,用了一台服务器做nginx,2台应用服务器:

所以,在nginx上配置nginx.conf,由于本人事小白,所以又在网上找了各种资源,附上自己成功跑通后的配置:


配置完重启,发现nginx无法,重启,报错:
nginx: [emerg] unknown directive “ssl” in … 这个就尴尬了,后发现:

意思就是编译ssl 模块到nginx 然后执行: make 记着不要make install会把原来的nginx 覆盖的,我们要的是编译了ssl 的nginx执行文件,不是要覆盖原有nginx
然后在nginx源码包下 将objs里面的nginx cp到你的nginx安装目录,并覆盖:
cp objs/nginx /usr/local/nginx/sbin/

这个配置完了,重启nginx,结果终于成功了,网页能够访问,并且受信任,但是页面一看,发现各种js,css加载失败,404.发现路径居然是http格式的,所以这个路径错误,又是各种查资料,发现在nginx到应用服务器tomcat的时候,https这个scheme丢失了,只需要在配置中加入scheme记忆,就ok了.

页面终于能访问成功了,要感谢https://segmentfault.com/a/1190000015722535这篇文章,帮助了我。

java web项目由http转换成https遇到的各种坑的更多相关文章

  1. Java web项目综合练习(Estore)

    Java web项目综合练习(Estore) 复习day18: ajax代码的书写步骤 2)json格式文本,转js对象的方法是那个 项目开发流程介绍 这里学习的JavaWEB项目实战,主要是把前面学 ...

  2. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  3. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  4. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  5. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...

  6. http网站转换成https网站

    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题   一:什么是https SSL(Security   Socket  ...

  7. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用

    Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...

  8. 阿里云部署Java web项目

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  9. Java Web项目如何做到升级不断掉服务,同时涉及到的相关问题

    Java Web项目如何做到升级不断掉服务,同时涉及到的相关问题 原文地址:https://m.oschina.net/question/737237_2203576 现在容器用的是tomcat,做维 ...

随机推荐

  1. Ehcache3.4 XML配置硬盘存储

    最近开始学习使用Ehcache, 3.4的文档实在过于简单,尤其是对于XML配置,例子太少.相对于硬编码,我更偏爱灵活的XML配置,为了实现xml配置,摸索了两天,终于运行成功. ehcache.xm ...

  2. awk --- 常用技巧

    一.每隔几行取出一个数,输出到另外一个文件 awk '{ if (NR % 9 ==1) {print NR, " => ", $0 } }' kp.txt > xy_ ...

  3. python基础内容目录

    一  python基础 二  python基础数据类型 三  python文件操作及函数初识 四  python函数进阶 五  python装饰器 六  python迭代器与生成器 七  python ...

  4. 团队作业-Week9-软件项目的风险

    一.软件项目中的风险 软件项目的风险无非体现在以下四个方面:需求.技术.成本和进度.IT项目开发中常见的风险有如下几类: (1)需求风险 ①需求已经成为项目基准,但需求还在继续变化: ②需求定义欠佳, ...

  5. php laravel+nginx 除了根目录都报404 解决

    在nginx的配置文件加 location / { try_files $uri $uri/ /index.php?$query_string; } 即可!!!!!!!

  6. hbase的常用的shell命令&hbase的DDL操作&hbase的DML操作

    前言 笔者在分类中的hbase栏目之前已经分享了hbase的安装以及一些常用的shell命令的使用,这里不仅仅重新复习一下shell命令,还会介绍hbase的DDL以及DML的相关操作. hbase的 ...

  7. CString类型与其他类型的转换

    1.BSTR转CString BSTR bstr; CString cstr;  cstr = (LPCTSTR)bstr; 2.Cstring 转BSTR CString cstr = _T(&qu ...

  8. 远程服务器设置Mysql的操作权限

    mysql -u root -p; root用户输入密码登录mysql服务器 select host, user  from mysql.user; 查询数据库的所有用户以前权限的ip   host: ...

  9. TCP连接笔记

    每个socket套接字都有一个引用计数. 调用close时只是将相应的引用计数减1. 只有当引用计数为0时才会真正的清理套接字资源,也就是发送FIN. 若只是想在某个TCP连接上发送一个FIN可以改用 ...

  10. Redis读超时排查

    现象:STORM UI中发现bolt中有failed,异常日志抛异常read time out 业务场景:storm读写redis. 查看redis日志发现,正常情况下 每隔2小时都会有超时的异常抛出 ...