怎样在局域网中给网站作ssl认证,使其能以https协议访问(转)
如果要在局域网达到效果需要满足以下几点要求:
1. 证书由可信任的CA机构颁发
2. 证书在有效期
3. 访问地址和证书的认证地址一致
说明:
1. 需要在局域网内构建CA机构
2. 证书的有效期建议设置长一点,毕竟在内网使用,升级比较麻烦
3. 生成的自签证书其中包含的域名或ip要和浏览器中访问的域名或ip保持一致
2.1 mkcert
mkcert是一个使用go语言编写的生成本地自签证书的小程序,具有跨平台,使用简单,支持多域名,自动信任CA等一系列方便的特性可供本地开发时快速创建https环境使用。
mkcert的浏览器根据操作系统的不同生效也不同:
mkcert supports the following root stores:
- macOS system store
- Windows system store
- Linux variants that provide either
update-ca-trust(Fedora, RHEL, CentOS) orupdate-ca-certificates(Ubuntu, Debian, OpenSUSE, SLES) ortrust(Arch)
- Firefox (macOS and Linux only)
- Chrome and Chromium
- Java (when
JAVA_HOMEis set)
我这里用windows演示,google浏览器可以支持,firefox不支持
2.1.1安装
由于go的跨平台的特性,所以直接安装即可
https://github.com/FiloSottile/mkcert/releases
我这里已windows安装包为示例

2.1.2 使用
- 下载后将mkcert-v1.4.3-windows-amd64.exe更名为mkcert.exe(为了在控制台少打字)
在控制台输入 mkcert 可看到

其中明确了 -install -uninstall 的语义
- 将CA证书加入本地可信CA
在控制台 mkcert -install,就帮助我们将mkcert使用的根证书加入了本地可信CA中,以后由该CA签发的证书在本地都是可信的。 - 查看Windows的可信CA列表
IE浏览器中,选择设置==>Internet选项==>内容==>证书==>mkcert证书

至此标识当前CA已被信任
2.2 自签证书
- 生成自签证书
- 在控制台中命令行输入: mkcert 192.168.99.177 192.168.99.78

这里我的ip是177所以以此为例。如果有多个ip地址用空格隔开,表示该证书支持多个ip的认证,也就是浏览器访问地址的ip。
控制台中表明生成了192.168.99.177+1.pem证书文件和192.168.99.177+1-key.pem私钥文件
- 使用自签证书
- 在nginx中配置ssl用于测试
server { listen 9888 ssl; ssl_certificate E:\Nginx1.15.11\conf\ssl\mkcert\192.168.99.177+1.pem; ssl_certificate_key E:\Nginx1.15.11\conf\ssl\mkcert\192.168.99.177+1-key.pem; location / { root E:/; } }
这里开启9888的ssl端口。映射E盘来做测试,E盘根目录下有一张名为hzw.PNG的图片。 - 现在访问 https://192.168.99.177/hzw.PNG会出现警告页面
2.3 发放证书
- 现在局域网访问测试地址会出现警告页面,我们需要将我们的CA证书发放给局域网内其他的用户,其他用户安装即可。
- 查找本机的CA证书
- 命令行查看mkcert的CA证书所在位置
mkcert -CAROOT
C:\Users\fanya\AppData\Local\mkcert - 打开C:\Users\fanya\AppData\Local\mkcert其中包含rootCA.pem证书文件和rootCA-key.pem密钥文件。我们将
rootCA.pem拷贝一个副本,并命名为rootCA.crt(因为windows并不识别pem扩展名)
2021/08/02 15:08 2,484 rootCA-key.pem
2021/08/02 15:08 1,797 rootCA.crt
2021/08/02 15:08 1,797 rootCA.pem
- 将rootCA.crt拷贝给局域网的其他人,进行安装
2.4 安装证书
双击rootCA.crt

安装证书==>证书存储==>受信任的根证书颁发凭证

2.5 测试
浏览器访问 https://192.168.99.177:9888/hzw.PNG

可以看到左上角变成安全标识,警告页面也不会弹出。至此局域网就的ssl认证就完成了。
怎样在局域网中给网站作ssl认证,使其能以https协议访问(转)的更多相关文章
- 为IIS服务器配置SSL,并设置为默认使用https协议访问网站
要使网站支持https协议,需要SSL证书,我的服务器和域名都是在阿里云购买的,所以这里我演示阿里云获取SSL证书的方法 我先说下我的服务器环境:windows server 2012 + IIS8. ...
- CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问
参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问 ...
- IIS同时实现网站部分使用https协议访问另一部分http访问
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...
- Loadrunner对https协议(单双向SSL)的web端性能测试
1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...
- 使用loadrunner对https协议(单双向SSL)的web端性能测试 (转)
1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...
- django开发网站 让局域网中的电脑访问你的主机
1. 关闭主机电脑上的防火墙(不用关闭,加一个端口号就行) 2.在你的settings.py文件中,找到ALLOWED_HOSTS=[ ],在中括号中加入你在局域网中的IP.如我在局域网中的IP为19 ...
- input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has
input屏蔽历史记录 设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处 ;(function($){$.ex ...
- Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7:
Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7: 参考 http://blog.csdn.ne ...
- 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息
ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...
- 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...
随机推荐
- Unicode 和JS中的字符串
计算机内部使用二进制存储数据,只认识0和1两个数字,计算机的世界只有0和1.但我们的世界却充满着文字,如a, b, c.怎样才能让计算机显示文字,供我们使用和交流?只能先把文字转化成数字进行存储,然后 ...
- yb课堂之用户下单模块开发 《十四》
开发用户下单购买视频接口 VideoOrder模块下单接口开发 VideoOrderController.java package net.ybclass.online_ybclass.control ...
- redis出现错误提示MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for......
某天,redis出现了这样一个错误提示: MISCONF Redis is configured to save RDB snapshots, but is currently not able to ...
- docker卸载分享
一.准备工作: 1.杀死docker有关的容器: docker kill $(docker ps -a -q) 2.删除所有docker容器: docker rm $(docker ps -a -q) ...
- Docker通信全视角:原理、实践与技术洞察
本文全面深入地探讨了Docker容器通信技术,从基础概念.网络模型.核心组件到实战应用.详细介绍了不同网络模式及其实现,提供了容器通信的技术细节和实用案例,旨在为专业从业者提供深入的技术洞见和实际操作 ...
- oeasy教您玩转vim - 2 - # 使用帮助
回忆上节课内容 更新和运行 vim 进入和退出 vim 存活了下来 从中我们知道 vim 有两种模式:正常模式(Normal mode)和命令行模式 (Command-Line mode) 为了您能更 ...
- AI时代你应聚焦的领域在哪里
1. 每个人都应该拥抱AI 随着AI的飞速发展,把我们带到了一个全新的时代.在这个时代,AI将逐步渗透到各个方面,比如:自动驾驶.智能家居.医疗诊断.大模型等等.每个人都应该积极拥抱AI,让AI给我们 ...
- Jmeter参数化5-JSON提取器
后置处理器[JSON提取器] ,一般放于请求接口下面,用于获取接口返回数据里面的json参数值 1.以下json为例,接口返回的json结果有多组数据.我们要取出purOrderNo值 2.在jmet ...
- 无缝融入,即刻智能[1]:MaxKB知识库问答系统,零编码嵌入第三方业务系统,定制专属智能方案,用户满意度飙升
无缝融入,即刻智能[1]:MaxKB知识库问答系统,零编码嵌入第三方业务系统,定制专属智能方案,用户满意度飙升 1.简介 MaxKB(Max Knowledge Base)是一款基于 LLM 大语言模 ...
- 【Spring】01 快速入门
Spring快速入门 空Maven项目创建 声明工程名称,完成 删除SRC目录,创建01 HelloSpring模块 导入依赖 Maven坐标: <!-- https://mvnreposito ...