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. LeetCode【101. 对称二叉树】

    对称二叉树,就是左节点的左节点等于右节点的右节点,左节点的右节点等于右节点的左节点. 很自然就想到迭代与递归,可以创建一个新的函数,就是另一个函数不断的判断,返回在主函数. class Solutio ...

  2. 初学者常用的LINUX命令

    测试初学者常用的LINUX命令 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启命令 3. clear 清屏命令 4. ...

  3. 如何让SQLServer的 itemNum 字段 按照数字大小顺序排序

    我的 itemNum 从1到20,可是超过了SQLServer的默认排序这样的1101112...19234567如何才能让排序成为这样1234567891011.. . 解决办法:因为 itemNu ...

  4. golang初识3 - func

    1. 功能块(function block) 格式: func function_name( [parameter list] ) [return_types] { //body } 与delphi的 ...

  5. TestNG+Java+Selenium+Maven 代码实例

    搭环境时注意不要忘记testng的jar包,selenium的jar包 package com.guge.test; import org.testng.annotations.Test;import ...

  6. 来源于知乎专栏:https://zhuanlan.zhihu.com/p/29619457

    1. 校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1- ...

  7. 七层协议&网络配置

    1.输入CMD 2.ipconfig-all 可查看详细的电脑网络配置,子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网 ...

  8. 【机器学习_11】基础算法:KNN

    一.概述 1.方向 2.一句话概述 3.优缺点 4.应用场景举例 二.理论 三.案例理解

  9. update_db_inputs.conf

    #!/bin/bash#-------------------------------------------------------------------------------# Name: u ...

  10. IntelliJ IDEA 破解Jrebel6.3.0安装

    首先下载所必要的两个文件(jrebel3.6.0和cracked文件) 密码:pvsd 注意:如果不是该版本的Jrebel该破解文件可能无效. 步骤1:安装 解压文件得出两个压缩包 在idea中选择 ...