如何配置 express 以使用 dotnet core localhost SSL 证书?

问题描述

我运行了一个 dotnet 5 web api 应用程序,我想从我的 express web 应用程序中调用它。可以把它想象成一个运行在 net5.0 上的后端和一个运行在 nodejs 和 express 上的带有服务器的前端。

我的 dotnet 应用程序使用它生成的 localhost 证书并在 https://localhost:5003 上运行。

我的 express 应用托管了一个纤巧的前端并在 http://localhost:5005 上运行(请注意 express 应用不在 https 上运行)。当我调用我的服务器时,我会执行以下操作:

const express = require('express');
const app = express();
const http = require("http");
const port = process.env.PORT || 5005;
const cors = require('cors');
const axios = require('axios');
const settings = require("./../settings");

const httpAgent = new http.Agent({
    // something needs to happen here!
});
axios.default.options = httpAgent;

// parse application/json
app.use(express.json());
app.use(cors());


app.post("/api/login",async (req,res) => {
    console.log(req.body);

    const { name,password } = req.body;

    var loginResponse = await axios.post(settings.server.url + "api/login",{
        userName: name,password: password
    });

    console.log(loginResponse);

    res.send(loginResponse);
});

我得到的错误是:

(node:15896) UnhandledPromiseRejectionWarning: Error: self signed certificate
    at TLSSocket.onConnectSecure (_tls_wrap.js:1507:34)
    at TLSSocket.emit (events.js:376:20)
    at TLSSocket._finishInit (_tls_wrap.js:932:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:706:12)

我发现了这个 question 和其他一些,不值得一提的是 atm,但我一直在遇到块,我真的不想“只是忽略证书”。

我的 localhost 证书已安装,我可以在我机器的证书中找到它。但是,我无法在搜索“localhost.crt”的机器上实际找到它。

我的问题是:如何设置我的 httpAgent,以便当我使用 axios 调用我的后端时,我使用其 https 端点调用它而不会出错?

>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...