我们的服务器依靠客户端证书来验证访问权限。目前,Electron和NW.JS似乎都不支持客户端证书,这使我们无法创建可以连接到服务器的应用程序。
在进行了一些研究之后,似乎应该可以使用node-http-proxy来设置代理服务器,以进行所有通信。看起来可以通过此方法引入客户端证书,本质上是:
客户端请求->代理服务器(添加客户端证书)->服务器(响应)->代理服务器->客户端
我不确定这是否可行,但这就是我的目标。这是我到目前为止的代码:
var cert = fs.readFileSync ("./cert.p12");
var proxy = httpProxy.createProxyServer ({
target: {
host: "devserver",
protocol: "https:",
port: 443,
pfx: cert,
passphrase: "certificatepassword"
},
secure: false,
changeOrigin: true,
xfwd: true,
//agent: https.globalAgent
agent: false
}).listen (8080);
Run Code Online (Sandbox Code Playgroud)
PFX已加载为.p12文件。当我将其设置为Firefox中的代理服务器时,尝试访问我们的开发服务器时出现“安全连接失败”的消息。我尝试了许多不同的方法,但没有更好的结果,而且我不确定如何从这一点继续。