配置HTTPS全过程

article/2025/11/5 8:20:12

HTTPS配置全过程

服务器配置https协议

HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

配置HTTPS就需要证书,关于证书方面不做过多解释,只介绍大概情况 :
证书通过权威的CA机构付费获得的证书才能被互联网承认,我们将其放在服务器上面,配置好后,就可以进行https通信了。
可以打开百度,在地址前可以看到安全两个字,可以点击查看百度的服务器证书。
这里写图片描述

接着也许会有人问,办理证书需要花钱唉,,有没有什么办法可以不花钱呢?答案是有的。我们可以自己给自己发一个证书,也可以进行https通
信,但是如果用浏览器访问的话,会提示不安全,没办法,因为谁叫咱不是权威呢。。=。=

Https协议验证过程

https验证过程是分为单向验证和双向验证

单向认证

  1、客户端保存着服务端的证书并信任该证书即可(参照百度,咱们是没有证书的,百度的证书是由权威CA机构颁布的)


  2、https一般是单向认证,这样可以让绝大部分人都可以访问你的站点。(依旧参照百度,这里咱们只需要验证百度的服务器证书即可,这里是浏览器去验证的)

双向认证

  1、先决条件是有两个或两个以上的证书,一个是服务端证书,另一个或多个是客户端证书。


  2、服务端保存着客户端的证书并信任该证书,客户端保存着服务端的证书并信任该证书。这样,在证书验证成功的情况下即可完成请求响应。(只有服务器验证客户端证书并通过,客户端验证服务器证书并通过,才可以进行通信,否则不可以!)


  3、双向认证一般企业应用对接。(所以企业与企业间对接,大部分都是自签证书)
  这里写图片描述


总结:单向验证只需要客户端验证服务器证书即可,双向则需要双方都验证,才可以进行通信!

证书制作

制作证书的工具有很多,我边里用XCA证书工具进行制作,具体要制作三个证书:根证书,服务器证书(用根证书签名),客户端证书(用根证书签名)。每种证书制作工具方式不同。这里只介绍XCA证书工具。先下载安装xca工具,地址是http://xca.hohnstaedt.de/
这里写图片描述

( 证书制作主要是根据密钥生成私钥和公钥,公钥用户加密,私钥用作解密。打个比方,当你访问一个https服务器时,服务器会将公钥给你,你拿着公钥,对数据进行加密处理,然后给服务器,最后服务器拿着自己的私钥来进行数据解密,这样就确保了数据的安全性)


下面我们来制作我们需要的证书
先用xca创建一本ca证书
xca打开的界面
依次File, New DataBase,选择xdb文件保存路径,再输入密码
这里写图片描述
切换到Certificates页面,点击New Certificate,因为要创建根证书,这里选择序号为1的自认证证书,签名算法选择SHA 256,证书模版选择默认CA,再点击Apply all(这个不能漏)如下所示:
这里写图片描述
切换到Certificates页面,点击New Certificate,因为要创建根证书,这里选择序号为1的自认证证书,签名算法选择SHA 256,证书模版选择默认CA,再点击Apply all(这个不能漏)如下所示:
这里写图片描述
最后点击OK,CA根证书做好了,有效期默认10年
这里写图片描述
将根证书导出成只包含公钥的证书格式,这本根证书就是放在网站上供用户下载安装,或主动安装到客户机器中的:
这里写图片描述
制作服务器证书、客户端证书和制作CA证书差不多,只有两个地方不一样:

1.选择已经制作好的根CA,然后点击New Certificate
这里写图片描述
2.签名时,选择使用根证书,这里是zhengshu进行签名颁发,然后证书模版选择服务器(制作客户端证书就选择HTTPS_client),其他都和制作根证书一样,然后点击Apply all(这个一定不能忘),然后再切到Subject、Extension页面填写相应的东西就OK了(听说将commonName与Internal Name 设置成域名或者ip,如果将客户添加信任服务器证书的话,浏览器会提示为安全,有兴趣的可以试一下)
这里写图片描述
服务器证书制作完成:
这里写图片描述
接着将服务器证书导入p12格式
这里写图片描述
输入私钥密码(后续配置tomcat时会用到):
这里写图片描述
同理制作客户端证书,并将之导出,也是p12格式的证书,包含私钥

TOMCAT下配置服务器证书

单向认证

将导出来的服务器证书放在服务器指定文件夹下,下面配置tomcat的server.xml文件
将8443端口注释去掉,添加keystroeFile指向服务器证书所以路径,keystorePass为制作证书所设置的密码。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="D:/server.p12" keystorePass="123456" 
/>

接着启动tomcat.就可以访问https啦,https://127.0.0.1:8443/项目名称 (会显示不安全连接)

如果用SpringBoot的话,配置更加简单,因为SpringBoot自带tomcat插件,所以只需要在配置文件中进行如下配置
配置https

server.port=8443
server.ssl.key-store=classpath:cer/server.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12

至此单向认证配置完成

双向认证

与单向认证不同(客户端只需要认证服务器即可),双向认证还需要服务器认证客户端,所以我们需要为服务器生成证书信任库,为了方便以后扩展,我们只需要将根证书添加至信任库即可,这样,只要是此根证书签名的客户端证书,均可以认证通过。不必再一 一配置。
在windows下打开CMD窗口
输入:

 keytool -import -v -file D:/根证书路径 -keystore E:\导出信任库路径/xxx.keystore

这里写图片描述

输入信任库口令(密码):
这里写图片描述

输入y,加入信任列表
这里写图片描述

成功加入信任列表
这里写图片描述

下面配置tomcat的server.xml文件

将8443端口注释去掉,添加keystroeFile指向服务器证书所以路径,keystorePass为制作证书所设置的密码。
与单向认证不同的是,需要将 clientAuth设置为true(此属性为是否进行双向验证),再添加 truststoreFile为信任库指向路径 truststorePass为信任库密码。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS" keystoreFile="D:/server.p12" keystorePass="123456"   truststoreFile="E:/tomcat.keystore"    truststorePass="123456"/>

接下来客户端安装证书。如果只是进行浏览器访问的话,只需要将证书导入并添加信任即可
双击证书导入或者打开浏览器internet选项——内容选项卡——证书,进行添加,客户端证书添加至个人,根证书添加至受信任的根证书颁发机构即可。

至此,双向认证也配置完成。启动tomcat就可以欢乐的进行https访问了。。

个人文章,如需转载,请先联系本人,注明出处。谢谢,


http://chatgpt.dhexx.cn/article/cKf3rK5d.shtml

相关文章

linux配置https

背景说明 服务器为阿里云 ecs&#xff0c;操作系统为 centos 6.5。 部署配置说明 第一步&#xff0c;安装nginx 之所以要先安装 nginx&#xff0c;是因为下面配置域名解析的时候可以直接在浏览器看到效果&#xff0c;当然了&#xff0c;先配置域名&#xff0c;然后 ping 一…

nginx配置https访问

01、http&https HTTP&#xff08;HyperText Transfer Protocol&#xff1a;超文本传输协议&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法&#xff0c;被用于在 Web 浏览器和网站服务器之间传递信息。 …

IIS 配置 HTTPS

前言 HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure&#xff0c;超文本传输安全协议&#xff09;&#xff0c;是以安全为目标的HTTP通道&#xff0c;简单讲是HTTP的安全版。使用SSL证书&…

群晖 Docker Gitlab 安装 及 https配置

群晖 Docker Gitlab 安装 及 https配置 安装 新建共享文件夹gitlab&#xff0c;创建下级目录/config /logs /data 修改权限完全控制 Docker下载镜像 配置存储位置及端口 启动容器 配置 https配置 在gitlab/config/目录下新建文件夹ssl将阿里云SSL证书文件放到ssl下&…

SpringBoot配置https

为什么要把网站转为https&#xff1f; https是网络数据传输协议&#xff0c;也就是说www的网站在传输数据的时候&#xff0c;都必须遵守这个协议&#xff0c;遵守统一的标准的协议&#xff0c;有利于数据更好的传送&#xff0c;而https则可以理解为是http的升级版或者安全版本…

nginx 代理 http、https 配置

nginx 代理 http、https 配置 http配置ssl https 配置 nginx 部署安装在之前的文章中已有教程&#xff0c;这里不再叙述&#xff0c;详情访问&#xff1a;nginx在centos7环境下安装本文主要讲述配置代理&#xff0c;包含http 、https代理&#xff0c;配置文件在 nginx 安装目录…

服务器https配置

1.登录阿里云后台: https://www.aliyun.com 在右上角"产品与服务"->“证书服务” 在证书列表,点击右上角"购买证书"->选择免费证书 返回证书列表, 选择刚刚申请的证书, 点击右边的"补全" 补全资料 等待审核通过之后下载配置证书 选…

Charles 抓包 Https 配置指南

一、说明 在做客户端开发的时候大家一定经常用到抓包工具去抓接口排查调试&#xff0c;非常的简捷方便。Charles 是一款非常好用的抓包工具&#xff0c;我在日常开发中也很喜欢用其进行接口联调、问题排查。 以前的客户端接口请求大多是 Http 传输的&#xff0c;抓接口直接配…

Charles抓https配置

环境:window10、charles4.6.1、ios14.4 1、第一步&#xff1a;pc安装证书 注意&#xff1a;证书存储的位置要选择‘受信任的根证书颁发机构’ 2、第二步&#xff1a;手机浏览器打开chls.pro/ssl下载安装证书 注意&#xff1a;下载安装完证书后&#xff0c;还需要如下设置 3、…

Tomcat配置Https

前言&#xff1a; 对于tomcat配置https还是挺简单的&#xff0c;首先你需要一个网站证书&#xff08;里面包含了公钥和私钥&#xff09;&#xff0c;这个证书相当于钥匙&#xff0c;但是https证书是需要花钱买的&#xff0c;我们在练习模拟不需要花钱买&#xff0c;可以使用 j…

Tomcat详解(七)——Tomcat使用https配置实战

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是Tomcat使用https配置实战。 一、tomcat证书配置 首先&#xff0c;要实现https&#xff0c;就必须先具有tomcat证书。我们在安装tomcat的时候&#xff0c;肯定都先安装了JAVA&#xff0c;而JAVA中有自带的证书生…

宝塔配置https

1. 2.左侧选中ssl&#xff0c;右上选中lets’encrypt 然后申请&#xff0c;结果如图 3.放行443 端口&#xff0c;我的是阿里云&#xff0c;其他云也是一样&#xff0c;要在安全组中出方向&#xff0c;添加开放443 4.宝塔中的设置&#xff0c;也要放行443端口的访问 5.然后用…

tomcat的https配置(亲测有效)

tomcat的https配置 1、下载证书2、配置证书1.上传文件到服务器2、编辑conf/server.xml文件 3、配置http自动跳转到https4、最后重启tomcat服务器5、测试 1、下载证书 申请域名并通过审核后就可以下载电子证书 点击选择我的证书 我这里选择免费证书 然后按照提示下载 tomcat 的…

nginx-http重定向到https配置

第一步打开服务器找到nginx目录文件&#xff0c;找到nginx.conf文件进行配置 我们只需要找到http所在的那个服务加入一行代码 return 301 https://www.abc.com$request_uri; 就可以将http协议改成https http{include mime.types;server{charset utf-8;listen 443 s…

Spring Boot 的HTTPS 配置

HTTPS 配置 由于HTTPS具有良好的安全性&#xff0c;在开发中得到了越来越广泛的应用&#xff0c;像微信公众号、小程序等的开发都要使用HTTPS来完成。对于个人开发者而言&#xff0c;一个HTTPS 证书的价格还是有点贵&#xff0c;国内有一些云服务器厂商提供免费的HTTPS证书&am…

https协议配置

前言&#xff1a;https协议配置&#xff0c;一般用于针对政府部门的终端有网络防火墙、网络过滤器等&#xff0c;使系统中的一些请求被拦截&#xff08;劫持&#xff09;&#xff0c;原因一般为在请求头中有存在敏感信息&#xff0c;被网络过滤的监听器发现即拦截&#xff0c;可…

https配置

1.https定义: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体…

配置HTTPS详细教程(内网)

前言 HTTPS &#xff08;全称&#xff1a;Hyper Text Transfer Protocol over SecureSocket Layer&#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#xff0c;H…

Hadamard和Rademacher

Hadamard基向量 H i j 1 H_{ij} \pm 1 Hij​1, H n T H n H n H n T n I n H_n^T H_n H_n H_n^T n I_n HnT​Hn​Hn​HnT​nIn​. 最简单的Hadamard矩阵的构造&#xff1a;Sylvester’s Construction。 Rademacher基信号 r k ( t ) s i g n sin ⁡ 2 k π t r_k(t) \…

Linux驱动之DMA框架(一):DMA框架的基本轮廓

DMA简介 DMA(Direct Memory Access,直接存储区访问)&#xff0c;用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据&#xff0c;这样节省的 CPU 资源可供其它操作使用。现代的处理器或者是微控制器都内嵌…