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. Spring4.0开始的泛型依赖

    参考资料: http://www.cnblogs.com/solverpeng/p/5687304.html 视频地址:https://edu.51cto.com/course/1956.html 一 ...

  2. 一则ORACLE进程都在但是无法进入实例的问题

    [oracle@localhost ~]$ ps -ef|grep smonoracle 14809 1 0 Sep25 ? 00:13:02 ora_smon_mailp3[oracle@local ...

  3. C++内存泄漏检测工具

    C++内存泄漏检测工具 1.VC自带的CRT:_CrtCheckMemory   调试器和 CRT 调试堆函数 1.1用法: /************************************ ...

  4. C语言列出真分数序列代码及解析

    问题描述 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 问题分析 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3 ...

  5. 【perl】simpleHTTP

    类似Python SimpleHTTPServer #!/usr/bin/perl # https://metacpan.org/pod/HTTP::Server::Simple # https:// ...

  6. IntelliJ IDEA 工程Java文件上红色的无效符

    IntelliJ IDEA 工程Java文件上红色的无效符(红色表示该类是不可编译文件) 1.查看Java.resources文件夹 如图所示,是因为没有配置 2.在Java文件夹点击右键找到Mark ...

  7. python2.7 Cheetah You don't have the C version of NameMapper installed

    问题:You don't have the C version of NameMapper installed sudo vi /usr/lib/python2.7/site-packages/Che ...

  8. 使用Java创建指定大小的空文件夹

    /** 方法一 * 创建固定大小的文件 * @param file * @param length * @throws IOException */ public static void create ...

  9. 1. vs code 设置快捷键与eclipse一样

    keybindings.json文件路径在:C:\Users\Administrator\AppData\Roaming\Code\User\keybindings.json { "key& ...

  10. 安装FrameWork后重新注册IIS

    IIS和.netfw4.0安装顺序是从前到后,如果不小心颠倒了,无所谓. 打开程序-运行-cmd:输入一下命令重新注册IIS C:\WINDOWS\Microsoft.NET\Framework\v4 ...