我正在开发一个登录我本地无线路由器(Linksys)的小应用程序,但我遇到了路由器的自签名证书问题.
我运行wget 192.168.1.1并得到:
ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/emailAddress=support@linksys.com':
Self-signed certificate encountered.
ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.
To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.
Run Code Online (Sandbox Code Playgroud)
在节点中,捕获的错误是:
{ [Error: socket hang up] code: 'ECONNRESET' }
Run Code Online (Sandbox Code Playgroud)
我目前的示例代码是:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET'
}, function(res){
var body = [];
res.on('data', function(data){
body.push(data);
});
res.on('end', function(){
console.log( body.join('') );
});
});
req.end();
req.on('error', function(err){
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能让node.js做相当于"--no-check-certificate"的操作?
首先请忽略这个问题,如果它太简单或无用。
我是 TLS 的新手,正在尝试为我的客户端和服务器之间的安全数据传输实施 SSL。我的后端在 Springboot 中,我的前端在 Angular 4 中。
对于 Springboot,我使用了以下内容使其 https:
server.port=8443
server.ssl.key-alias=secure-server
server.ssl.key-store-password=secret
server.ssl.key-store=classpath:server-keystore.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS
server.ssl.trust-store= classpath:server-truststore.jks
server.ssl.trust-store-password: secret
server.ssl.enabled= true
Run Code Online (Sandbox Code Playgroud)
而且,对于 angular 4,我在项目中创建了 ssl 文件夹并放置了两个文件,即:
并在脚本中的 package.json 中配置此命令,
scripts: {
"start": "ng serve --ssl true --ssl-cert 'ssl/server-public.cer' --ssl-key 'ssl/server.key' --live-reload false",
}
Run Code Online (Sandbox Code Playgroud)
现在在完成所有这些之后,我的前端和后端都启用了 https,
但是,当我尝试在浏览器中打开 UI 并使用凭据登录到我的应用程序时,我在 mozilla 中遇到以下错误
An error occurred during a connection to localhost:8443.
SSL peer cannot verify your certificate.
Error code: SSL_ERROR_BAD_CERT_ALERT
Run Code Online (Sandbox Code Playgroud)
另外,下面的 chrome 错误,
Request URL: https://localhost:8443/url
Referrer …Run Code Online (Sandbox Code Playgroud)