Tag: ssl

jquery ajax https调用给出ERR_INSECURE_RESPONSE

我正在尝试从jquery到node.js进程进行https CORS ajax调用。 但是,当任何时候在控制台OPTIONS https://localhost/ net::ERR_INSECURE_RESPONSE进行调用chrome抱怨。 看一个类似的堆栈溢出的问题, 跨域请求从HTTP到HTTPS立即中止我应该能够使跨越来源https ajax调用,如果我导入自我签署的证书我作出。 所以我把这个证书导入了chrome。 我可以在权限下的chromepipe理证书选项卡中看到证书。 但是当我尝试ajax调用时它仍然失败。 这是我的私钥: openssl genrsa -out domain.key 4096 现在cert: openssl req -x509 -sha512 -nodes -newkey rsa:4096 -keyout domain.key -out domain.crt 对于通用名称,我把电脑的IP地址,以便铬不会抱怨URL不匹配。 这是html页面。 <!DOCTYPE html> <html> <title>BlackBox</title> <head> <meta charset="utf-8"> <script src="jquery-1.11.2.min.js"></script> <script src="bootstrap-3.3.4-dist/js/bootstrap.min.js"></script> <script src="login.js"></script> </head> <body> <div class="container-fluid"> <div class="row"> <div class=col-md-4> <h2> Welcome […]

axios:通过代理https请求

我正在尝试使用代理服务器的axios进行https呼叫: const url = "https://walmart.com/ip/50676589" var config = { proxy: { host: proxy.ip, port: proxy.port } } axios.get(url, config) .then(result => {}) .catch(error => {console.log(error)}) 我使用的代理服务器在美国都是非常匿名的,支持HTTP和HTTPS。 我收到这个错误: {错误:写EPROTO 140736580649920:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:../ deps / openssl / openssl / ssl / s23_clnt.c:794: 为了确保问题是与axios而不是代理,我试过这个: curl -x 52.8.172.72:4444 -L'https://www.walmart.com/ip/50676589' 这完全正常工作。 我如何configurationaxios以使用代理和https URL?

带有express的socket.io中的SSL:缺lessPFX或证书+私钥。

我想通过SSL与socket.io套接字。 我读过其他答案,但没有任何工作 这是我的代码: var ssl_options = { key : fs.readFileSync(my_key_path), cert : fs.readFileSync(my_cert_path) }; var protocol = "https"; preparedApp = require(protocol).createServer(ssl_options,app); var io = require('socket.io')(preparedApp); preparedApp.listen(8080, function(){}); io.on('connection', function(socket){}); 这里是我的ssl_options的日志… { key: <Buffer 41 …>, cert: <Buffer 4a …> } 这个错误与标题throw new Error('Missing PFX or certificate + private key.'); 。 有谁知道可能会发生什么? 这个答案的其他解决scheme没有解决我的情况。

什么是最好的Node.js MySQL模块连接到MySQL通过SSL?

我已经使用node-mysql构build了我的应用程序。 我只使用AWS RDS服务设置了一个安全可访问的mysql数据库,并已经成功地通过mysql命令行客户端testing了一个SSL连接。 我有亚马逊的公钥.pem文件。 node-mysql似乎没有SSL连接选项的api。 到目前为止,我发现的唯一一个是Node-mysql-libmysqlclient,但是我尝试连接它时出现了错误,关于绑定依赖项为null,所以我不确定是否应该信任它。 build议使用哪个模块/ api? 另外,如果你知道我需要在node-mysql中修改什么,我会愿意修补一下,但它看起来像使用较低级别的套接字来连接到MySQL,所以我不知道有多难,得到已添加SSL部分。

Socket.io + SSL +自签名CA证书连接时出错

我正在使用使用自签名CA证书创build的证书运行https服务器。 现在我想将Socket.io客户端连接到连接到https服务器的Socket.io服务器。 不幸的是,我得到一个错误,告诉我: Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE at SecurePair.<anonymous> (tls.js:1271:32) at SecurePair.EventEmitter.emit (events.js:92:17) at SecurePair.maybeInitFinished (tls.js:883:10) at CleartextStream.read [as _read] (tls.js:421:15) at CleartextStream.Readable.read (_stream_readable.js:293:10) at EncryptedStream.write [as _write] (tls.js:330:25) at doWrite (_stream_writable.js:211:10) at writeOrBuffer (_stream_writable.js:201:5) at EncryptedStream.Writable.write (_stream_writable.js:172:11) at write (_stream_readable.js:547:24) at flow (_stream_readable.js:556:7) 基本上,这个错误告诉我,证书不能被成功validation。 这是由于相应的CA证书是自签名的。 当使用https请求时,我可以指定我信任的CA. 如何在这种情况下使Socket.io连接? PS:我正在运行Node.js 0.10.0和Socket.io 0.9.13。

节点代理 – 从基本http服务器代理一个SSL本地主机目标

我在做什么: 代理一个运行在https://127.0.0.1:443/api/上的java api,沿着我的UI在非SSL http://127.0.0.1:1337/上运行,以便环绕一些CORS问题。 我的尝试: 将SSL端口443处的api代理到1338的非SSL开发端口。 代理我的用户界面到1337年 代理1137至:8080/index.html和代理1338至:8080/api/ 从localhost:8080访问我的应用程序 我的问题: 用户界面进来就好了…但我不能击中API :8080/api/httpSession/init 是的,我仍然可以通过https://localhost/api/httpSession/init api.js – 在1337处呈现index.html var app = express(); app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); }); var options = { changeOrigin: true, target: { https: true } }; httpProxy.createServer(443, '127.0.0.1', options).listen(1338); start.js – […]

申请X509证书

我已经收到一个X509证书(一个.cer文件),我可以解码它,所以没有问题。 现在我想用节点中的这个证书签署一个请求,但是我不能得到这个工作: var https = require("https"); var fs = require("fs"); var options = { host: 'management.core.windows.net', path: '/my-subscription-id/services/hostedservices', port: 443, method: 'GET', cert: fs.readFileSync("./SSLDevCert.cer"), agent: false }; var req = https.request(options, function(res) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); res.on('data', function(d) { process.stdout.write(d); }); }); 这失败了 错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行 在Object.createCredentials(crypto.js:72:31) 在Object.connect(tls.js:857:27) 在Agent._getConnection(https.js:61:15) 在Agent._establishNewConnection(http.js:1183:21) 在C#中做同样的工作正常: var req = […]

NodeJS无法读取ubuntu中的默认CA.

在我们的testing环境中,我们正在使用本公司签署的SSL连接到另一台服务器。 每次build立连接时,nodejs会抛出UNABLE_TO_VERIFY_LEAF_SIGNATURE 。 我已经通过设置rejectUnauthorized:falsefind了解决方法,但在我们的例子中这不适用。 将证书添加到/ etc / ssl / certs中,并使用环境variablesSSL_CERT_DIR进行testing,以使其成为/ etc / ssl anb / etc / ssl / certs ,但没有结果。 另外,在我们的文件的某个地方添加证书并将其添加到每个请求是不可取的。

当循环退出时,节点httpscallback不会触发

我的问题可能是直截了当的,但我无法弄清幕后发生的事情。 我正在循环访问数据库表中的一系列域,向他们呼叫,获取SSL证书并将其存储在数据库中。 大多数情况下,它正在工作 – 除非循环退出任何没有完成的调用就停止。 数据库检索开始检查: function queryRows() { complete = false; var query = c.query("SELECT * FROM domains LIMIT 100 OFFSET " + offset); query.on('result', function(res) { res.on('data', function(row) { checkUrl(row) }).on('end', function() { complete = true; }); }).on('end', function() { console.log(complete); offset += 100; if(offset <= (parseInt(rows) + 400)){ queryRows(); } else { […]

Node.js多个SSL证书

是否有可能让Node.js使用多个SSL证书? 我目前使用一个证书,但有一个新的证书与其他域匹配。 由于我的服务器位于负载平衡器的后面,因此有两种方法可以实现,并且我想匹配它们。 有没有办法使用两个证书,而不是创build一个两个匹配?