Articles of https

如何访问OpenShift通配符SSL证书和私钥

在OpenShift网站上: https ://help.openshift.com/hc/en-us/articles/202535440-How-do-I-get-SSL-for-my-domains-,它陈述 You can always take advantage of our *.rhcloud.com wildcard certificate in order to securely connect to any application via it's original, OpenShift-provided hostname URL. 但是,Node的HTTPS服务器需要指向证书和私钥的文件path才能使用HTTPS: var privateKey = fs.readFileSync('sslcert/server.key', 'utf8'); var certificate = fs.readFileSync('sslcert/server.crt', 'utf8'); var credentials = {key: privateKey, cert: certificate}; var express = require('express'); var app = express(); var httpsServer […]

Node.js https.createServer引发TypeError:侦听器必须是一个函数

我已经阅读了所有关于这个post,我知道这一定是愚蠢的,但我不明白为什么下面的代码抛出“ TypeError:侦听器必须是一个函数 ” 假设选项 var server = https.createServer(options, function(request,response){ if (request.url==='/') request.url='/home/altronic/Opti-Cal/web/arimonitor.htm'; console.log("Request: " + request.url); fs.readFile("public"+request.url,function(error,data){ if (error) { response.writeHead(404, {"Content-type":"text/plain"}); response.end ("Sorry the page you requested was not found."); } else { response.writeHead(200,{"Content-type":mime.lookup('public'+request.url)}); response.end (data); } }) }).listen(port); 控制台输出: events.js:130 throw TypeError('listener must be a function'); ^ TypeError: listener must be a function […]

NodeJS http-proxy:代理https时出现DEPTH_ZERO_SELF_SIGNED_CERT错误

我正在使用最新版本的nodejs和http-proxy在线示例,但是当我的请求发送到端点https服务器时,出现以下错误: C:\Users\Me\node_modules\http-proxy\lib\http-proxy\index.js:114 throw err; Error: DEPTH_ZERO_SELF_SIGNED_CERT at SecurePair.<anonymous> (tls.js:1370:32) at SecurePair.EventEmitter.emit (events.js:92:17) at SecurePair.maybeInitFinished (tls.js:982:10) at CleartextStream.read [as _read] (tls.js:469:13) at CleartextStream.Readable.read (_stream_readable.js:320:10) at EncryptedStream.write [as _write] (tls.js:366:25) at doWrite (_stream_writable.js:226:10) at writeOrBuffer (_stream_writable.js:216:5) at EncryptedStream.Writable.write (_stream_writable.js:183:11) at write (_stream_readable.js:582:24) 我的代码非常简单: var httpProxy = require('http-proxy'); var http = require('http'); var fs = require('fs'); var apimcert […]

没有对等证书例外 – 排除和Android与自签名证书

我试图让我的应用程序通过https与我的服务器通信。 由于我不想支付让我的服务器证书由可信任的CA签名,解决scheme是使用自签名证书。 所以,我创build了我的caconfig.cnf,如下所示: [ ca ] default_ca = CA_default # The default ca section [ CA_default ] dir = ./demoCA # top dir database = $dir/index.txt # index file. new_certs_dir = $dir/newcerts # new certs dir certificate = $dir/cacert.pem # The CA cert serial = $dir/serial # serial no file private_key = $dir/private/cakey.pem # CA […]

带有HTTPS请求的Node.JS UnhandledException

我需要一些帮助,试图阻止节点抛出这个错误,或至less明白为什么我似乎无法赶上它: events.js:72 throw er; // Unhandled 'error' event ^ Error: socket hang up at SecurePair.error (tls.js:999:23) at EncryptedStream.CryptoStream._done (tls.js:695:22) at CleartextStream.read [as _read] (tls.js:496:24) at CleartextStream.Readable.read (_stream_readable.js:320:10) at EncryptedStream.onCryptoStreamFinish (tls.js:301:47) at EncryptedStream.g (events.js:175:14) at EncryptedStream.EventEmitter.emit (events.js:117:20) at finishMaybe (_stream_writable.js:354:12) at endWritable (_stream_writable.js:361:3) at EncryptedStream.Writable.end (_stream_writable.js:339:5) at EncryptedStream.CryptoStream.end (tls.js:633:31) at Socket.onend (_stream_readable.js:483:10) 这是导致错误的代码片段: var req = […]

当循环退出时,节点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请求 – 无效的URI“/”

我在我的应用程序中使用request通过使用客户端身份validation的HTTPS发送POST请求。 请求总是抛出一个错误Error: Invalid URI "/" ,我无法做任何事情来解决它。 我已经尝试使用url.parse而不是传递一个string,但它仍然是相同的。 request.post({ uri: 'https://localhost:5000', key: credentials.key, ca: credentials.ca, cert: credentials.cert, passphrase: credentials.passphrase, rejectUnauthorized: false }, { form: { data: payload }});

Node.js – HTTPS PFX错误:无法加载BIO

我试图做一个HTTPS请求承诺。 我已经知道PFX是好的,这不是问题(我有一个类似的示例应用程序工作)。 我正在做以下事情: var request = require('request-promise'); … options.pfx = fs.readFileSync('myfile.pfx'); options.passphrase = 'passphrase'; 我正在将我的选项传递给请求。 request.post(options); 然后我尝试构build请求我得到以下错误: _tls_common.js:130 c.context.loadPKCS12(pfx, passphrase); ^ Error: Unable to load BIO at Error (native) at Object.createSecureContext (_tls_common.js:130:17) at Object.exports.connect (_tls_wrap.js:955:21) at Agent.createConnection (https.js:73:22) at Agent.createSocket (_http_agent.js:174:16) at Agent.addRequest (_http_agent.js:143:23) at new ClientRequest (_http_client.js:133:16) at Object.exports.request (http.js:31:10) at Object.exports.request (https.js:163:15) at […]

我在我的node.js https服务器中使用.pfxauthentication,我不能在选项中使用“密码”

我目前正在使用node.js和https进行Web应用程序。 所以我尝试使用我的.pfx(我从http://www.cert-depot.com/获得了这个文件)进行httpsauthentication,如下所示: var https = require('https'); var fs = require('fs'); var options = { pfx: fs.readFileSync('./8ab20f7b-51b9-4c09-a2e0-1918bb9fb37f.pfx') passphrase: 'password' }; var server = https.createServer(options, function (request, response) { fs.readFile('index.html', function (error, data) { response.writeHead(200, {'Content-Type': 'text/html'}); response.end(data); }); }).listen(12345, function(){ console.log('server running'); }); 但是当我用node.js启动这个代码时,我在我的Windows控制台中收到一条错误消息: 密码:“密码” 意外的标识符 我的代码与Node.js( http://nodejs.org/api/https.html#https_https_createserver_options_requestlistener )的官方指南页非常相似,但是我无法启动我的https服务器。 我的密码有什么问题? (我在Windows 8 64位上运行node.js。)

在Openshift上使用https创buildExpress JS 4.0应用程序,包括httpredirect

继另一个SO问题后 ,我一直在尝试的最新(见ligatures.net ): self.ipaddress = process.env.OPENSHIFT_NODEJS_IP; self.port = process.env.OPENSHIFT_NODEJS_PORT || 443; if (typeof self.ipaddress === "undefined") { self.ipaddress = "127.0.0.1"; }; … self.app = express(); // 4.8.7 … // Trusting Openshift proxy self.app.enable('trust proxy'); // Http -> Https redirection middleware self.app.use(function (req, res, next) { if ( !req.secure() ) { var tmp = 'https://' + […]