给局域网地址配置cert证书

博客 3次浏览 收藏

最近在开发app为了测试方便 80端口app支持的不是很好,用443端口只差个证书


第一步:安装 mkcert 工具


你需要在部署网站的机器(或你的开发机)上安装 mkcert:
  • Windows:使用包管理器安装,在终端(PowerShell)中运行 choco install mkcert 或 scoop install mkcert。也可以直接去 GitHub 的 FiloSottile/mkcert 发布页下载 .exe 文件。
  •  macOS:使用 Homebrew 安装,在终端运行 brew install mkcert。
  •  Linux (Ubuntu/Debian):先安装依赖 sudo apt install libnss3-tools,再下载对应的二进制文件并赋予执行权限。

第二步:生成本地根证书并签发 IP 证书

1. 安装本地根证书(CA)

cd d:\ser\cert
mkcert -install
这一步会将本地根证书添加到系统的信任列表中,之后用它签发的所有证书都会被浏览器直接信任。

2. 为局域网 IP 生成证书


mkcert 192.168.10.10

第二步:apache2 配置证书及443

编辑 d:\ser\apache24\conf\httpd.conf
找到
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
以上两行 去掉前面的 注释

编辑 d:\ser\apache24\conf\extra\http_vhosts.conf
添加以下内容
Listen *:443
<IfModule mod_ssl.c>
    <VirtualHost 192.168.10.10:443>
ServerName 192.168.10.10
    DocumentRoot "D:\ser\htdocs\newhome\restful\web"
        <Directory "D:\ser\htdocs\newhome\restful\web" >
DirectoryIndex index.php
      Options FollowSymLinks 
    AllowOverride All
        Require all granted
    </Directory>
    ErrorLog    ${APACHE_LOG_DIR}/frontend_error.log
    CustomLog   ${APACHE_LOG_DIR}/frontend_access.log  combined
    SSLEngine on
    SSLCertificateFile      "D:\ser\cert\192.168.10.10.pem"
    SSLCertificateKeyFile   "D:\ser\cert\192.168.10.10-key.pem"
</VirtualHost>
</IfModule>
重启 apache24 服务
访问正常


局域网其他设备访问的注意事项

  • 信任根证书:如果你需要用局域网内的其他电脑或手机访问 https://192.168.10.10且不显示警告,需要运行 mkcert -CAROOT 找到 rootCA.pem 文件。将该文件复制到其他设备上,并手动将其安装到系统的“受信任的根证书颁发机构”中。
  •  防火墙端口:确保 192.168.10.10 这台机器的防火墙已经放行了 443 端口,否则其他设备将无法连接。

随想:

如果 配置 hosts 域名与ip解析  配合路由器  估计…… 嘿嘿
评论

登录后可以发表评论与回复。

还没有评论,来做第一个发言的人。