如果要在局域网达到效果需要满足以下几点要求:

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) or
    • update-ca-certificates (Ubuntu, Debian, OpenSUSE, SLES) or
    • trust (Arch)
  • Firefox (macOS and Linux only)
  • Chrome and Chromium
  • Java (when JAVA_HOME is set)

我这里用windows演示,google浏览器可以支持,firefox不支持

2.1.1安装

由于go的跨平台的特性,所以直接安装即可

https://github.com/FiloSottile/mkcert/releases

我这里已windows安装包为示例

2.1.2 使用

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

其中明确了 -install -uninstall 的语义

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

至此标识当前CA已被信任

2.2 自签证书

  1. 生成自签证书
    1. 在控制台中命令行输入: 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私钥文件

  1. 使用自签证书
    1. 在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的图片。
    2. 现在访问 https://192.168.99.177/hzw.PNG会出现警告页面

2.3 发放证书

  1. 现在局域网访问测试地址会出现警告页面,我们需要将我们的CA证书发放给局域网内其他的用户,其他用户安装即可。
  2. 查找本机的CA证书
    1. 命令行查看mkcert的CA证书所在位置
      mkcert -CAROOT
      C:\Users\fanya\AppData\Local\mkcert
    2. 打开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
  1. 将rootCA.crt拷贝给局域网的其他人,进行安装

2.4 安装证书

​ 双击rootCA.crt

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

2.5 测试

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

可以看到左上角变成安全标识,警告页面也不会弹出。至此局域网就的ssl认证就完成了。

怎样在局域网中给网站作ssl认证,使其能以https协议访问(转)的更多相关文章

  1. 为IIS服务器配置SSL,并设置为默认使用https协议访问网站

    要使网站支持https协议,需要SSL证书,我的服务器和域名都是在阿里云购买的,所以这里我演示阿里云获取SSL证书的方法 我先说下我的服务器环境:windows server 2012 + IIS8. ...

  2. CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问

    参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问 ...

  3. IIS同时实现网站部分使用https协议访问另一部分http访问

    一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...

  4. Loadrunner对https协议(单双向SSL)的web端性能测试

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

  5. 使用loadrunner对https协议(单双向SSL)的web端性能测试 (转)

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

  6. django开发网站 让局域网中的电脑访问你的主机

    1. 关闭主机电脑上的防火墙(不用关闭,加一个端口号就行) 2.在你的settings.py文件中,找到ALLOWED_HOSTS=[ ],在中括号中加入你在局域网中的IP.如我在局域网中的IP为19 ...

  7. input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has

    input屏蔽历史记录   设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处   ;(function($){$.ex ...

  8. 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 ...

  9. 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息

    ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...

  10. 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客

    这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...

随机推荐

  1. Ubuntu 查看用户历史记录

    Ubuntu 查看用户历史记录 1. 查看用户命令行历史记录 1. 查看当前登录账号所属用户的历史命令行记录 打开命令行,输入 history 就会看到当前登录账号所属用户的历史记录 2. 查看系统所 ...

  2. SpringBoot集成实时通讯WebSocket和其它代替方案

    WebSocket 双向实时通讯 一.添加WebSocketConfig配置类 /** * 开启WebSocketConfig */ @Configuration public class WebSo ...

  3. JDK各个版本汇总

    JDK1.4 正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器 JDK1.5 自动装箱.泛型.动态注解.枚举.可变长参数.遍历循环 JDK1.6 提供动态语言支持.提供编译API和卫星 ...

  4. 拆解LangChain的大模型记忆方案

    之前我们聊过如何使用LangChain给LLM(大模型)装上记忆,里面提到对话链ConversationChain和MessagesPlaceholder,可以简化安装记忆的流程.下文来拆解基于Lan ...

  5. FairMOT复现报错存档

    FairMOT复现 使用pip命令单独安装Cython包即可 修改下载的cython-bbox包里的setup.py里的代码 将#extra_compile_args=['-Wno-cpp'], 修改 ...

  6. C++11标准库<chrono><future> <atomic><condition_variable><mutex><thread>梳理 (5万字)

    <chrono> C++11中提供了日期和时间相关的库chrono. chrono库主要包含三种类型的类:时间间隔duration.时钟clocks.时间点time point. 时间间隔 ...

  7. ABC361-C题解

    背景 昨天打比赛的时候查了中考分,心快停跳了. 题意 从 \(n\) 个数字中删除 \(k\) 个数字,问剩下的数字中极差的最小值. 分析 首先把这 \(n\) 个数字排序,然后问题就可以转化为求这 ...

  8. 渐变边框文字效果?CSS 轻松拿捏!

    今天,有个群友问了我这么一个问题,如果不想切图,是否有办法实现带渐变边框的字体效果?如下所示: 本文,就将尝试一下,在 CSS 中,我们可以如何尽可能的实现这种渐变边框字体效果. 元素叠加 首先,比较 ...

  9. 一文全解:LVM(逻辑卷管理器)

    前两篇文章已经讲了关于磁盘分区和磁盘阵列的相关内容: 一文全懂:Linux磁盘分区 一文全懂:独立冗余磁盘阵列(RAID) 但是磁盘分区完后再想扩容或者缩容就比较麻烦了,甚至很多时候不能扩容或者缩容, ...

  10. DP进阶合集

    (ps:本集合为Star_F总结的dp进阶知识,持续更新~. 转载本文章需要联系我,否则视为侵权!!) 前置知识:线性dp,背包,树形dp,区间dp 内容预览: 状压dp 数位dp dp优化(前缀和, ...