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

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. 如何在 Windows 使用 Podman Desktop 取代 Docker Desktop

    Podman Desktop 是 Docker Desktop 的免费替代品,是本地开发使用的另一个绝佳选择.它提供了类似的功能集,同时保持完全开源,让您避免使用 Docker 产品的许可问题.在本文 ...

  2. xampp+vscode 安装PHP断点调试xdebug

    官网下载地址:https://xdebug.org/download.php 这里需要特别注意,有TS(thread safe)和NTS 区别,我建议不要下载最新的,我一开始使用最新的发现插件没有匹配 ...

  3. SQL SERVER根据数据表的某个栏位查询另一个数据表符合条件的某个栏位的值,如果多行则合并为一张字符串形式

    SQL SERVER根据数据表的某个栏位查询另一个数据表符合条件的某个栏位的值,如果多行则合并为一张字符串形式 要在 SQL Server 中根据一个数据表的某个列查询另一个数据表符合条件的某个列的值 ...

  4. [oeasy]python0021_宝剑镶宝石_爱之石中剑_批量替换_特殊字符_特殊颜色

    继续运行 回忆上次内容 上次 运行了 game.py 分析了 game.py 也大致读懂了 game.py       添加图片注释,不超过 140 字(可选)   这个 程序 可以进一步 进行修改吗 ...

  5. oeasy教您玩转python - 012 - # 刷新时间

    ​ 刷新时间 回忆上次内容 通过搜索 我们学会 import 导入 time 了 time 是一个 module import 他可以做和时间相关的事情 time.time() 得到当前时间戳 tim ...

  6. 学习笔记--Java 控制语句

    Java 控制语句 Java 控制语句 选择结构 if 语句 switch 语句 循环结构 for循环 while循环 do...while循环 循环控制 break 语句 continue 语句 选 ...

  7. [HTTP] HTTP 协议 Response Header 之 Content-Length、Transfer-Encoding与Content-Encoding

    0 引言 在近期项目一场景中,一 Web API (响应内容:7MB - 40MB.数据项:5W-20W条)的网络传输耗时较大,短则 5s,长则高达25s,前端渲染又需要耗时 9s-60s. 在这个场 ...

  8. 如何通过PowerShell批量修改O365用户的office phone属性值

    我的博客园:https://www.cnblogs.com/CQman/ 如何通过PowerShell批量修改O365用户的office phone属性值? 需求信息: 组织中的O365用户在创建时, ...

  9. 【ElasticSearch】03 部署

    Windows集群部署: 把包解压成三个节点 [kibana-7.16.3-windows-x86_64.zip] - Node-1001 - Node-1002 - Node-1003 修改集群的配 ...

  10. 【Tomcat】IDEA工程没有EE规范的jar包?

    发现了一个问题,我安装了2种版本的Tomcat 一个是8版本,另一个是10版本 我在已经使用8版本的工程中,更换成使用10版本,当然一开始部署运行正常 但是关闭了工程之后,再次打开就发现,这些EE规范 ...