如何设置本地环境以在 https 上运行

问题描述 投票:0回答:2

我正在尝试通过 https local 运行我的 React 应用程序。我已按照本教程的步骤进行操作,已正确安装

mkcert
,我的项目的根目录当前如下所示:

|-- my-react-app
    |-- package.json
    |-- localhost.pem
    |-- localhost-key.pem
    |--... 

我的 package.json 文件如下所示:

"scripts": {
    "start": "HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem react-scripts start",
    ...

然而,当我运行 npm start 时,我收到此错误:

'HTTPS' is not recognized as an internal or external command, operable program or batch file.

我还尝试在根目录中创建一个

.env
文件并添加如下变量:

HTTPS=true
SSL_CERT_FILE=localhost.pem
SSL_KEY_FILE=localhost-key.pem

但是,当我以这种方式运行应用程序时,我收到一条警告,提示我的连接不安全。

我花了时间谷歌搜索错误,但到目前为止仍然无法找到解决方案。

reactjs https ssl-certificate localhost mkcert
2个回答
5
投票

解决方案是将我的 package.json 文件修改为如下所示:

"scripts": {
    "start": "set HTTPS=true&&set SSL_CRT_FILE=localhost.pem&&set SSL_KEY_FILE=localhost-key.pem&&react-scripts start",
    ...

这在开始时产生了

RangeError: Invalid typed array length: -4095
。使用
npm install --save react-scripts@latest
将我的反应脚本升级到最新版本解决了这个问题。

我的本地主机现在有一个安全连接。希望这可以帮助其他人在未来。


0
投票

仅当您运行 Windows 时,接受的答案才是正确的。如果您运行的是 Mac OS X,则应遵循参考教程中的原始说明,因为它们是正确的。

set
命令和
&&
分隔符是PowerShell语法功能。

© www.soinside.com 2019 - 2024. All rights reserved.