当前位置: 首页 > 知识库问答 >
问题:

网页包服务器->代理HTTPS资源->无法\u验证\u叶子\u签名

百里渊
2023-03-14

我正在使用具有以下设置的Webpack DevServer:

devServer: {
    proxy: {
        '*': {
            target: 'https://localhost:44369',
            secure: true
        }
    },
    port: 8080,
    host: '0.0.0.0',
    hot: true,
    https: false
}

https://webpack.js.org/configuration/dev-server/#devserver-https

它在HTTP中运行良好,但是当我现在将代理切换到HTTPS时,我开始出错。

在命令提示符中收到以下消息:

尝试代理本地主机8080到的请求/时发生[HPM]错误https://localhost:44369 (无法验证叶子签名)(https://nodejs.org/api/errors.html#errors_common_system_errors)

我试图将NodeNODE_TLS_REJECT_UNAUTHORIZED设置为0,但这并没有帮助。

new webpack.DefinePlugin({
    'process.env.NODE_TLS_REJECT_UNAUTHORIZED': 0
})

是否有某种方法可以访问生成的证书CA并将其添加到受信任的根证书颁发机构?这会有帮助吗?还是我也需要改变其他事情?

如果我将httpshttps切换到true我会得到相同的错误。

生成SSL证书

...

尝试代理本地主机8080到的请求/时发生[HPM]错误https://localhost:44369 (无法验证叶子签名)(https://nodejs.org/api/errors.html#errors_common_system_errors)

当我在Chrome中访问所需资源时,我还收到以下错误:

更新:

我现在已将webpack dev server设置为使用与原始web服务器相同的证书(https://localhost:44369)是的。我已经验证了指纹序列号在两者之间是相同的。

https://webpack.js.org/configuration/dev-server/#devserver-pfx

https: true,
pfx: fs.readFileSync(path.resolve(__dirname, "../Client.WebProxy/App_Data/Certificate/") + '\\localhost.pfx'),
pfxPassphrase: 'securePassword'

我还尝试了用ssl-rot-cas注入证书,但我仍然得到相同的错误。

var sslRootCAs = require('ssl-root-cas/latest')
sslRootCAs.inject();

我也试过:

target: 'https://[::1]:44369',

https://github.com/saikat/react-apollo-starter-kit/issues/20#issuecomment-316651403

var rootCas = require('ssl-root-cas/latest').create();
rootCas.addFile(path.resolve(__dirname, "../Client.WebProxy/App_Data/Certificate/") + '\\localhost.pem');
require('https').globalAgent.options.ca = rootCas;

https://www.npmjs.com/package/ssl-root-cas

https: {
    key: fs.readFileSync(path.resolve(__dirname, "../Client.WebProxy/App_Data/Certificate/") + '\\localhost.key'),
    cert: fs.readFileSync(path.resolve(__dirname, "../Client.WebProxy/App_Data/Certificate/") + '\\localhost.crt'),
    ca: fs.readFileSync(path.resolve(__dirname, "../Client.WebProxy/App_Data/Certificate/") + '\\localhost.pem'),
}

https://webpack.js.org/configuration/dev-server/#devserver-https

共有1个答案

祁嘉言
2023-03-14

花了很多时间来做这件事,但最终还是很容易。它的工作原理是将代理的secure设置为false,然后通过http访问webpack dev服务器。

https://webpack.js.org/configuration/dev-server/#devserverproxy

devServer: {
    proxy: {
        '*': {
            target: 'https://localhost:44369',
            secure: false
        }
    },
    port: 8080,
    host: '0.0.0.0',
    hot: true,
}
 类似资料:
  • 我正在使用节点0.10.26,并试图通过客户端验证建立https连接。 服务器代码: 客户代码: 我使用以下命令创建了证书,每次都将“uname-n”的结果作为“Common Name”提供: 我已经使用客户端和服务器证书的所有组合(即:[(server1,client1),(server1,client2),(server2,client1),(server2,client1),(server2

  • 我正在我的nginx服务器上使用laravel5.8,带有laravelecho服务器socket。伊奥和雷迪斯。 我的网站一直工作到昨天没有错误,但今天它一直给我套接字错误,如: 这是我的laravel-echo-server.json文件: 首先我遇到了错误,但后来。 我已经重新启动的echo工作者使用但仍然是相同的问题。

  • 我试图解决我的Jetty servlet在HTTPS上运行的问题。 这是浏览器中的错误: 这是卷曲中的错误: 我所做的: > 我创建了密钥库和信任库,如下所述:如何生成密钥库和信任库,以及https://serverfault.com/questions/488003/keytool-subjectalternativename 这是我创建密钥库和信任库的批处理脚本: 我不知道我的情况有什么问题,

  • 我在使用模块urllib(Python 3.6)时遇到了问题。每次使用该模块时,我都会收到相当于一页的错误。 urllib有什么问题以及如何修复? 这段代码喜欢吐出一口东西: 好像模块本身出了问题。

  • 使用SSH密钥配置新的数字海洋水滴。当我运行ssh copy id时,我得到的是: 但是,当我尝试ssh时,会发生以下情况: 输入密码后,我就可以正常登录了,但这当然违背了首先创建SSH密钥的目的。我决定看看ssh-agent服务器端,这是我得到的: 用户/。ssh/authorized\u密钥也包含ssh-rsa密钥条目,但查找名称“keynamehere”不返回任何内容。

  • 问题内容: 我正在使用node.js request.js到达api。我收到这个错误 [错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE] 我所有的凭据都是准确有效的,并且服务器还不错。我对邮递员提出了同样的要求。 此代码仅在可执行脚本ex中运行。,那是为什么?是否需要在服务器上运行? 问题答案: 注意 :以下情况很危险,并且将允许在客户端和服务器之间截取和修改API内容。 这