使用本地自签名证书为 React 项目启用 https 支持

简介

现在是大前端的时代,我们在本地开发 React 项目非常方便。这不是本文的重点,今天要分享一个话题是,如何为这些本地的项目,添加 https 的支持。为什么要考虑这个问题呢?主要有几个原因

  1. 如果该项目需要调用下层的 API, 并且该 API 是用 https的,则要求前端项目也用 https
  2. 如果你为 Teams 或者 Office 开发应用,他们要求这些应用必须用 https

本文参考了官方文档 https://create-react-app.dev/docs/using-https-in-development/,并且用更加详细的步骤带领大家完成实验。

创建并React项目

npx create-react-app --template typescript testapp
cd testapp
npm start

我们会看到再熟悉不过的默认的React项目的那个模板效果,默认在 http://localhost:3000 这个地址访问

使用本地自签名证书为 React 项目启用 https 支持

如果你想启用 https,其实有一个简单的办法就是用 ($env:HTTPS = "true") -and (npm start) 替换上面的那句 npm start即可

使用本地自签名证书为 React 项目启用 https 支持

请注意,你现在已经可以用 https://localhost:3000 去访问它了。但很显然这个证书是无效的。下面就继续来学习如何创建自定义证书并且用它来绑定到我们的应用端口上来。

安装自签名证书工具

推荐使用 mkcert,我一般会用 choco 这个工具来安装,请参考我的步骤

请在管理员模式下打开Powershell

Set-ExecutionPolicy Bypass -Scope Process -Force; 
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

choco install mkcert -y

安装证书信任机构(CA)

mkcert -install

创建证书

创建一个用来保存证书文件的目录
mkdir -p .cert
可以一次性为多个域名创建证书,这个非常强大
mkcert -key-file ./.cert/key.pem -cert-file ./.cert/cert.pem "localhost" "dev.teamsapp.local"

使用证书来启动当前项目

在当前项目根目录下面创建一个 .env 文件,填写如下的内容

HTTPS=true
SSL_CRT_FILE=.cert/cert.pem
SSL_KEY_FILE=.cert/key.pem

然后,直接还是运行 npm start ,你会发现默认打开的 https://localhost:3000 已经带有合法的证书了

使用本地自签名证书为 React 项目启用 https 支持

Original: https://www.cnblogs.com/chenxizhang/p/16244358.html
Author: 陈希章
Title: 使用本地自签名证书为 React 项目启用 https 支持

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551343/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Appium知多少

    Appium我想大家都不陌生,这是主流的移动自动化工具,但你对它真的了解么?为什么很多同学搭建环境时碰到各种问题也而不知该如何解决。 appium为什么英语词典查不到中文含义? a…

    技术杂谈 2023年5月31日
    087
  • 网络设备配置-9、利用ppp协议实现点对点认证

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    技术杂谈 2023年7月11日
    064
  • os里边的函数用法(持续更新)

    os.environ 对于官方的解释,environ是一个字符串所对应环境的映像对象我们想要用python获得一些有关系统的各种信息的时候就不得不想到os的environ,那这里面…

    技术杂谈 2023年7月11日
    072
  • UE4《空山新雨后》电影级短片制作研修班 1-16周 完整版

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    090
  • 《一步到位玩透Ansible》专栏章节目录

    现在这个专栏的内容已经请求下架,所有内容完全免费发布在我的博客中:https://www.junmajinlong.com/ansible/index/。 Original: ht…

    技术杂谈 2023年5月31日
    095
  • 动态ip、静态ip、pppoe拨号的区别

    pppoe拨号 pppoe拨号上网,又叫做ADSL拨号上网、宽带拨号上网。指现在有很多我的E家用户,送的无线猫,阉割了PPPOE拨号功能,必须要从电脑上拨号才能上网。还有大街上的W…

    技术杂谈 2023年5月31日
    098
  • Golang 接口(interface)

    Go 语言的接口遵守LSP(里氏替换原则),即 一个类型可以自由地被另一个满足相同接口的类型替换。 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的…

    技术杂谈 2023年7月11日
    070
  • 【Golang】golang开发微信公众号网页授权功能

    基本流程 微信公众号服务号的网页授权功能开发,主要是通过js跳转到一个微信提供的url 然后微信会弹出获取昵称头像的按钮 允许获取后,会回跳到我们的网址上,并且带着一个code参数…

    技术杂谈 2023年6月1日
    075
  • MySQL/PostgreSQL/Oracle到OceanBase数据迁移同步

    简述 CloudCanal 2.2.0.7 版本开始支持 OceanBase 作为对端的数据迁移同步能力 本文通过 MySQL->OceanBase的数据迁移同步案例简要介绍…

    技术杂谈 2023年7月24日
    083
  • 再谈MySql索引

    一、索引简介 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 索引分单列索引(主键索引、唯一索引、普通索引)和组合索引。单列索引,即…

    技术杂谈 2023年7月11日
    063
  • SpringCloud与SpringCloud Alibaba版本兼容

    SpringCloud 的版本兼容 SpringCoud 与SpringBoot的版本关系 在下边网址可以查看cloud与boot的版本兼容关系https://start.spri…

    技术杂谈 2023年7月25日
    067
  • Windows下 webpack4.0 的安装

    这里我们通过npm来进行安装 1. 安装 webpack // 全局安装webpack npm install webpack -g 2. 通过 webpack -v 命令查看当前…

    技术杂谈 2023年5月31日
    097
  • 腾讯云 Linux 虚拟机如何正确修改 hosts 文件

    如果直接修改 /etc/hosts 文件,重启后设置会丢失还原,原因是腾讯云虚拟机默认使用了 Cloud-Init 进行初始化操作。 参见:https://cloud.tencen…

    技术杂谈 2023年6月21日
    075
  • 时空的乐章

    广义相对论之前,时空仿佛是一个舞台,物理过程像戏剧一样千变万化,舞台却是不变的,广义相对论首次将时空变成了戏剧的一部分,变成了一个动力学概念,时空不再是不变的了,而在物理学上,几乎…

    技术杂谈 2023年5月31日
    078
  • 域名SSL认

    阿里云:域名SSL认证-视频 Hole yor life get everything if you never give up. Original: https://www.cn…

    技术杂谈 2023年6月21日
    078
  • crash命令 —— wr

    参考:https://crash-utility.github.io/help_pages/wr.html 用法: 需要具备对 /dev/mem设备节点的写权限。 写某个地址,默认…

    技术杂谈 2023年5月30日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球