实现内网https 内网部署https SpringBoot

2023-11-14

最近项目中要在内网中部署https网址,之前对https完全不了解,一脸懵逼,好在在一顿疯狂必应之后,成功完成了部署。

首先需要明确的是,由于是在内网部署,所以完全不需要搞得那么复杂(宝塔啊,申请域名啊什么的)。

零、

前置条件:在本地安装好jdk和OpenSSL,并配置好两者的环境变量

一、

安装OpenSSL并配置环境的参考网址:

windows10安装openssl环境并命令行调用openssl(不需要编译openssl源代码,快速安装)_MonkeyKing-Sun的博客-CSDN博客_openssl环境1.安装Perl(非必须)下载地址:https://www.activestate.com/activeperl/downloads因为网上的教程大多是安装Perl的,所以就安装了,想用这种方式的参考这个吧https://blog.csdn.net/jbwd1/article/details/77430549,我就不啰嗦了。我在安装完ActivePerl-5.24.3.2404-M...https://blog.csdn.net/sunhuansheng/article/details/82218678仅需要看第二部分“Openssl环境安装(文末有安装包)”即可。

在最后验证是否成功安装并配置环境成功时,其实只需要在cmd中输入OpenSSL,出现以下内容即代表安装并配置成功。

二、

参考网址: 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文 : 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文 - 程序猿小码 - 博客园内网项目启用Https配置手册 软件需求: 制作前的需求: 开始制作CA根证书 在任意盘符(我这里选择G盘)下新建一个文件夹 这里我建立一个ca的文件夹用来存储生成的CA证书 创建私钥 生成私钥命令:https://www.cnblogs.com/ChromeT/p/11122480.html只需要根据上面网址的步骤,一步步跟着做到“客户端安装证书”

三、

在SpringBoot中部署https

spring boot支持https请求 - 简书https://www.jianshu.com/p/71cd01fa8438

我所做的项目只需要跟着做完“二.生成ssl证书”。

四、

因为本项目要求多数为http地址,仅少数地址需要为https,所有特地声明了两个端口号,一个用作http,一个用作https。

配置文件内容如下:

server:
  port: 8443 #注意,这里是https访问的的端口号
  http:
    port: 8080
  ssl:
    key-store: classpath:keystore.p12
    key-store-password: 123456
    key-alias: tomcat
    key-store-type: PKCS12

为了使http生效,需要在项目中加入以下配置类

import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TomcatConfig {

    @Value("${server.http.port}")
    private int httpPort;

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
        return tomcat;
    }

    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(httpPort);
        return connector;
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现内网https 内网部署https SpringBoot 的相关文章

  • 使用哪个 HTTP 状态代码来拒绝由于乐观锁定失败而导致的 PUT

    假设我想实现某种乐观锁定并使用 ETag 来指示最新的资源状态 这意味着 客户将使用If Match标题时PUT等待更新 根据HTTP规范 http www w3 org Protocols rfc2616 rfc2616 sec14 ht
  • 通用开源 REST 客户端? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 HTTPS 云前端后面的 AWS Amazon 云前端将非 WWW 转发到 WWW

    我已经将 Cloud Front 设置为将所有调用重定向到 HTTPS 协议 现在我想将 非www 转发到www 就当前设置而言 我怎样才能实现这一目标 我尝试了下面的方法 但没有成功 因为该方法没有考虑 HTTPS 重定向 https w
  • Perl LWP::简单 HTTPS 错误

    我正在尝试获取网站的内容并打印 该代码按照我希望的方式在常规 HTTP 网站上运行 但它不适用于 HTTPS 我已经查找了此问题的修复程序 但它们在我的程序中不起作用 这是我目前拥有的代码 usr bin perl use strict u
  • HttpGet 401 状态代码后跟 200 状态代码

    我使用 Apachage HttpComponent 访问 Web 服务时遇到奇怪的行为 我可以访问服务器日志 当我尝试连接到服务器并执行 httpGet 命令时 我可以在日志中首先看到 401 状态 http 未经授权 然后看到 200
  • 为什么python请求默认不使用系统ssl证书?

    背景 我正在尝试Ubuntu 18 04 1 LTS 使用 next 安装自签名证书 cp rf my crt usr local share ca certificates update ca certificates 一切正常 因为现在
  • .htaccess 路由到服务器上的子目录?性能/加载时间

    我想知道是否可以使用 htaccess 文件将我的域直接路由到服务器上的子目录 我从常规虚拟主机提供商处购买了虚拟主机软件包 其中我的domain com 连接到我的服务器的根目录 我想知道是否可以以某种方式将 htaccess 文件上传到
  • 我首次设置 AWS EB 时创建的默认安全组是什么?

    我对几个组所扮演的角色感到困惑 这些组似乎已自动添加到我的 AWS 安全组列表中 并以我收集的默认配置进行连接 并且想知道它们是如何工作的 以及它们的安全性如何 改变 具体来说 有三个神秘之处 launch wizard 1其中有一条入站规
  • 从浏览器中删除cookie?

    有什么方法可以指示网络浏览器完全delete一个人的cookie是用PHP设置的吗 我不想expiry或者等待浏览器closed 对于删除 我的意思是实际上不再将其列在 cookie 列表中 尝试这样删除所有 cookie foreach
  • 在Java中解析包含multipart/form-data请求体的字符串

    问题陈述 我认为标题说明了一切 我正在寻找解析 a 的方法String包含 multipart form data HTTP 请求的正文部分 IE 字符串的内容看起来像这样 xyzseparator blah Content Disposi
  • 在 Ubuntu 12.04 上的 Apache 上配置 SVN 服务器

    我正在尝试通过 HTTP 访问现有的 Subversion 服务器 我的dav svn conf文件看起来像
  • 在 Heroku 上获取客户端的真实 IP 地址

    在任何 Heroku 堆栈上 我想获取客户端的 IP 我的第一次尝试可能是 request headers REMOTE ADDR 当然 这是行不通的 因为所有请求都是通过代理传递的 所以替代方法是使用 request headers X
  • 避免 IE 中因背景图像而出现“混合内容”警告的具体规则是什么?

    这与SSL 和 CSS 背景图像导致的混合内容 https stackoverflow com questions 1548551 ssl and mixed content due to css background images但这个问
  • 在 Flex 中以 HTTP Post 方式上传任意数据

    我们目前有一个 Java 小程序 可以生成大量数据并将其上传到我们的服务器 我们拥有的上传方法之一是使用 HTTP POST 到我们的服务器 其内容只是原始数据 没有多部分编码或任何内容 我正在考虑实现一个具有相同功能的 Flex 应用程序
  • HTTP 和 HTTPS iframe

    我正在创建一个小部件 我想允许其他人使用它 这iframe通过 HTTP 加载 但我想允许用户通过 HTTPS 登录 即通过 SSL 发送登录请求 同源策略中允许这样做吗 即 场景是用户可以将我的 JavaScript 集成到他们的网站 小
  • OkHttp如何获取Json字符串?

    Solution 这是我这边的一个错误 正确的方法是响应 body string 以外响应 body toString 我使用 Jetty servlet URL 是http 172 16 10 126 8789 test path jso
  • HttpHostConnectException:连接被拒绝 Android

    我正在尝试通过 HttpPost 连接并将用户名和密码发送到网站 然后从该网站接收字符串 我过去尝试过各种对我有用的方法 但现在当我发送用户名和密码标识符时 应用程序超时长达 4 分钟 然后抛出以下异常 07 16 16 32 32 897
  • 由于浏览器设置的标头,Safari 拒绝重定向的 CORS 请求

    Summary Safari 拒绝一些涉及重定向的 CORS 请求 声称某些标头是不允许的 但该标头从来不是由脚本请求的 而是由浏览器添加的 所以我认为这应该不重要 Safari 的行为是一个错误吗 规格有问题吗 或者 事情变成这样是有原因
  • 响应 301 永久移动

    我曾经得到以下对 php 请求的响应 回复
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而

随机推荐

  • Java使用poi-tl1.9.1生成Word文档的几个小技巧

    目录 前言 一 poi tl简介 1 什么是poi tl 2 常见的word生成对比 3 poi tl功能点 二 poi tl文档生成 1 模板准备 2 目标参数填充 3 生成效果 三 可能会遇到的问题 1 混合图表生成报错 2 图表参数设
  • Linux /etc/resolv.conf DNS服务器IP地址修改被覆盖问题

    为了临时修改DNS服务器IP地址 可能会选择手动修改 etc resolv conf 文件 而在重启Network Manager服务后 sudo systemctl restart NetworkManager resolv conf 文
  • mvc三层架构(用户信息管理系统)

    mvc三层架构 实战项目 用户信息管理系统 一 三层架构 View 层 用于接收用户提交请求的代码 Service 层 系统的业务逻辑主要在这里完成 Dao 层 直接操作数据库的代码 二 三层架构图 三 用户信息管理系统 利用MVC三层架构
  • 金蝶K3客户端:组件KdSvrMgr无法正常工作 排查分析步骤

    远程组件配置工具无法测试通过 并出错 对于以上错误 在其他的地方还会表现为 拒绝的权限 这样子的信息 其实问题实质是一样的 分析如下 1 远程中间层机器和本机网络不通 可以使用ping命令确认是否网络通畅 如果网络通了还是问题依旧 进入分析
  • LeetCode 448. Find All Numbers Disappeared in an Array

    原题网址 https leetcode com problems find all numbers disappeared in an array Given an array of integers where 1 a i n n siz
  • 多项式与快速傅里叶变换(FFT)

    上次算导老师讲分治高精度乘法 n 1 8左右的复杂度 并且说acm里就有这个 然后我小声bb说acm里高精度快速乘是nlogn的 然后一阵虚因为自己不会FFT 今天算法课又提到了并且我和同学吹牛快速傅里叶变换只要nlogn巴拉巴拉 然后又一
  • 使用kubebuilder结合code-generator开发k8s controller(1)

    为了开了controller 先后分析和尝试了几周 现把步骤和踩的坑记录分享一下 使用kubebuilder结合code generator开发k8s controller 1 使用kubebuilder结合code generator开发
  • 查看matlab中函数源代码的方法

    有几种方法可以实现查看matlab里自带函数的源代码 在命令窗口中输入 1 type 函数名 如 type rgb2gray 或者 type rgb2gray m 即可在命令窗口中显示此函数的源代码 2 open 函数名 如 open rg
  • 数据结构与算法--用c语言建立顺序表以及其相关操作

    一 线性表的介绍 线性表分为顺序表和单链表 线性表是数据结构最基础的结构之一 他们与栈 队列 串和数组都属于线性结构 由n个 n gt 0 个数据特性相同的元素构成的有限序列称为线性表 n称为线性表的长度 n 0时称为空表 对于非空的线性表
  • (UE4 4.20 ) UE4的Actor生命周期(1) 之 SpawnActor , SpawnActorDeferred 产生 Actor 和 AActor 初始化的执行流程

    在https docs unrealengine com en us Programming UnrealArchitecture Actors ActorLifecycle 官方的编程文档中 UE4官方给出了有关Actor生命周期的宝贵资
  • 如何用Python写一个爬虫

    在当今的互联网时代 网络爬虫已经成为了一种非常重要的技术手段 通过爬虫 我们可以快速地获取大量的数据并进行分析 这对于很多行业都非常有帮助 在本篇文章中 我们将详细介绍如何用Python写一个爬虫 1 爬虫的基本原理 在开始编写爬虫之前 我
  • C++类属(泛型)——模板详解

    第八章 类属 泛型 模板 1 概述 在程序设计中经常会用到这样的一些程序实体 这些程序实体的实现和所完成的基本功能相同 不同的地方仅在于它们所涉及的数据类型不同 对于这些函数或类 如果能分别只用一个函数和一个类来描述它们 将会大大简化程序设
  • 设置openEuler(欧拉系统)安装源

    在安装openEuler时 完整的 ISO映像 使用的是ISO的源一般不用设置安装源 安装netinst版需要连网下载文件 所以需要设置安装源 下面将按照提示一步步配置 先设置网络连网 然后点完成 选择硬盘 默认自动分区 添加安装源 官方列
  • 使用MicroPython制作红绿灯模拟器

    我们将使用行人步行按钮实现交通信号灯 该项目与LED配合使用 这使我们能够在代码执行时看到其状态 对于交通信号灯 也称为刹车灯 我们将使用红色 黄色和绿色的LED来匹配交通信号灯上的相同颜色的灯 我们还将使用红色和黄色的LED来表示 请勿行
  • vue+openlayers实现地图打点

    前言 openlayers的使用 一 使用步骤 1 引入库 代码如下 示例 npm install ol import ol ol css 样式 import Map from ol Map 地图对象 import Feature from
  • sed:当替换内容存在变量

    sed命令使用变量三种方式 1 使用单引号 变量处使用单引号 双引号把变量包括起来 sed i s eco ori g block vf 2 使用双引号 变量直接引用即可 sed i s eco ori g block vf 3 使用单引号
  • Nacos使用教程

    Spring Cloud是一个基于Spring Boot的微服务框架 它提供了一系列的组件和工具 可以帮助开发人员快速构建和部署分布式应用程序 其中 Nacos是一个新兴的服务发现和配置管理组件 可以帮助开发人员轻松地管理微服务的注册 发现
  • dbeaver问题:Public Key Retrieval is not allowed

    1 问题描述 连接数据库时出现错误 Public Key Retrieval is not allowed 2 解决方案 编辑连接信息 设置驱动属性为true 刷新一下
  • 1流明等于多少lux_说说投影仪ANSI亮度和流明的区别

    作为一个投影行业从业者 对于现在市面上的LED光源小微投动不动多少多少ANSI亮度 多少多少光源亮度 实在是看不下去了 不忍看到大家再被一些无良厂商忽悠 先说说现在市面上大家在标的ANSI亮度 ANSI是一个9点测量方法 即投出画面 画面大
  • 实现内网https 内网部署https SpringBoot

    最近项目中要在内网中部署https网址 之前对https完全不了解 一脸懵逼 好在在一顿疯狂必应之后 成功完成了部署 首先需要明确的是 由于是在内网部署 所以完全不需要搞得那么复杂 宝塔啊 申请域名啊什么的 零 前置条件 在本地安装好jdk