《mkcert介绍及使用》

在这里插入图片描述

🤖 作者简介:水煮白菜王 ,一位资深前端劝退师 👻

👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧✍。
感谢支持💕💕💕

关联文章:
《开发环境使用HTTPS调试》

使用 mkcert 在本地开发环境中生成 SSL/TLS 证书

mkcert 是一个简单的工具,用于生成本地开发环境中的受信任的 SSL/TLS 证书。这对于在本地开发环境中测试 HTTPS 连接非常有用,因为它可以为我们的本地开发域名生成自签名的证书,并通过一个根证书(CA)使其在我们的系统上被信任。

mkcert 的用途

  • 本地开发:在本地开发环境中启用 HTTPS,确保应用程序可以在安全连接下运行。
  • 测试环境:在测试服务器上使用 HTTPS 进行测试,确保与生产环境一致的安全性。

安装 mkcert

1. 安装 mkcert

首先,需要安装 mkcert。对于不同的操作系统,安装步骤略有不同。

macOS

使用 Homebrew 安装:

brew install mkcert
Linux

对于 Debian/Ubuntu 系统,可以使用下面的命令:

sudo apt-get update
sudo apt-get install mkcert
Windows

下载可执行文件并将其添加到 PATH 环境变量中。

2. 安装根证书

mkcert 生成的证书需要一个根证书来信任它们。运行以下命令来生成根证书:

mkcert -install

这将在系统上安装一个根证书,使得 mkcert 生成的所有证书都被系统信任。

生成证书

一旦安装了 mkcert 并安装了根证书,可以为本地开发域名生成证书。

生成单个证书

假设要为 example.local 域名生成证书,可以运行以下命令:

mkcert example.local

这将生成两个文件:

  • example.local.pem:包含私钥和证书。
  • rootCA.pem:包含根证书(通常位于 ~/.local/share/mkcert 目录下)。

生成多个证书

如果有多个域名需要证书,可以一次生成多个:

mkcert example.local another.example.local localhost

使用证书

一旦生成了证书,可以在 Web 服务器配置中使用它们。以下是几个常见 Web 服务器的配置示例。

Nginx

假设 Nginx 配置文件位于 ``/etc/nginx/sites-available/example.local``,可以这样配置:

server {
    listen 443 ssl;
    server_name example.local;

    ssl_certificate /path/to/example.local.pem;
    ssl_certificate_key /path/to/example.local-key.pem;

    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

Apache

在 Apache 中,可以在虚拟主机配置中指定证书文件:

<VirtualHost *:443>
    ServerName example.local
    DocumentRoot "/var/www/html"

    SSLEngine on
    SSLCertificateFile /path/to/example.local.pem
    SSLCertificateKeyFile /path/to/example.local-key.pem
</VirtualHost>

Node.js (Express)

在 Node.js 的 Express 应用中,可以使用 https 模块来创建 HTTPS 服务器:

const https = require('https');
const express = require('express');

const app = express();
const options = {
  key: fs.readFileSync('/path/to/example.local-key.pem'),
  cert: fs.readFileSync('/path/to/example.local.pem'),
};

https.createServer(options, app).listen(443, () => {
  console.log('HTTPS Server running on port 443');
});

卸载 mkcert

如果不再需要 mkcert 生成的证书,可以卸载根证书:

mkcert -uninstall

这将删除根证书,使 mkcert 生成的所有证书不再被系统信任。

总结

mkcert 是一个非常有用的工具,可以帮助我们在本地开发环境中快速生成可信的 SSL/TLS 证书。通过简单的命令行操作,就可以为我们的本地开发域名生成证书,并在各种 Web 服务器中使用这些证书来启用 HTTPS。这有助于确保我们的应用程序在本地开发环境中也能使用安全连接。

下一篇👉 《开发环境使用HTTPS调试》

在这里插入图片描述
如果你觉得这篇文章对你有帮助,请点赞 👍、收藏 👏 并关注我!👀
在这里插入图片描述

  • 41
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水煮白菜王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值