让TLS在React脚本和节点api服务器之间进行本地开发工作

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

我已经为我的本地开发环境设置并安装了自签名证书。我有运行我的前端的反应脚本。我已经设置了HTTPS = true环境变量,并且在package.json中使用了一个'prestart'脚本将自签名证书写入./node_modules/webpack-dev-server/ssl/server.pem。 >

"prestart": "(cat ./certs/server.crt ./certs/server.key > ./node_modules/webpack-dev-server/ssl/server.pem) || :",

所以当我点击https://localhost:3000(webpack-dev-server)时,我得到了一个安全且受信任的锁。到目前为止一切都很好。

我的API服务器是在节点中编写的,并且在localhost:4000上运行。我正在使用express和https模块,其key和cert属性指向相同的自签名证书和密钥文件。

const app = express();
const httpsServer = https.createServer({
    key: fs.readFileSync('./certs/server.key'),
    cert: fs.readFileSync('./certs/server.crt')
}, app);
module.exports = httpsServer;

[当我从我的React应用程序中通过提取命中https://localhost:4000/login时,我在浏览器控制台中收到以下错误:(当然,请求不会通过)

OPTIONShttps://localhost:4000/loginnet :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我一直在研究密码套件不匹配以及许多其他问题,但似乎没有任何解决办法。即使节点服务器和web-dev-server都在同一主机上,使用相同的证书是否存在问题?

任何帮助都将不胜感激,我完全意识到,我可能错过了一些非常简单的东西,因此对稍有代码盲点的行为表示歉意。

我已经为我的本地开发环境设置并安装了自签名证书。我有运行我的前端的反应脚本。我已经设置了HTTPS = true环境变量,并且使用了'...

node.js reactjs ssl https
1个回答
0
投票

有两个可能的问题:


-1
投票

我没有可以解决您问题的答案,但我也遇到了您的问题。尽管我不记得有什么修复方法,但是可以说,您对UI和后端服务使用相同的证书和密钥应该很好,因为我与您在做相同的事情,并且可以正常工作。

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