Tag: ssl

Grunt Node和Express Local Dev HTTPS证书

我试图在服务人员开始,并阅读你需要有一个SSL证书。 我有一个AngularJS 1.x应用程序和一个Node Express后端,我独立运行,所以我使用grunt serve来运行端口8443的前端,我使用node app.js来运行7443上的express。 注意:我在macOS上这样做 我使用了关于如何在使用Grunt的项目上设置https的指南: 这里 openssl genrsa -out livereload.key 1024 openssl req -new -key livereload.key -out livereload.csr openssl x509 -req -in livereload.csr -signkey livereload.key -out livereload.crt Gruntfile.js options: { protocol: 'https', // or 'http2' port: 8443, hostname: '0.0.0.0', key: grunt.file.read('livereload.key'), cert: grunt.file.read('livereload.crt') }, 节点app.js var privateKey = fs.readFileSync('../livereload.key', 'utf8'); var certificate […]

Heroku,Node,Express,SSL的ERR_SSL_PROTOCOL_ERROR

我最近为我Heroku托pipe的网站wildcodemonkey.com启用了SSL,但是当我在Chrome中访问它时,看到错误“ERR_SSL_PROTOCOL_ERROR”。 我的研究表明,SSL连接终止于Heroku的路由器,然后通过HTTP将请求传递到我的express / node站点。 因此,我没有在我的服务器上设置“https”,并期待标准的HTTP连接。 我的SSLconfiguration是这样的,我的CSR,关键和证书传递给Heroku。 我正在使用Heroku中的SSL选项,而不是第三方资源/插件。 在我的应用程序的设置中启用SSL后,我更改了DNS以反映新端点(wildcodemonkey.com.herokudns.com而不是wildcodemonkey.com.herokuapp.com),这是我在Heroku上configurationSSL时要使用的端点,设置好ssl后直接从设置页面复制粘贴。 我看到摩根loggingGET请求,当我打到域,所以它看起来像所有事情都结束了,所以我不知道问题发生在哪里。 任何援助将不胜感激。 提前感谢。

在SSL上运行MEAN堆栈

我想通过https而不是http托pipe我的网站。 我使用AngularJs作为我的前端和NodeJs作为我的后端。 我将使用https://letsencrypt.org/获取SSL证书。 我无法find在https上运行这两个Web服务器的方法。 注意:我不想通过url分开前端和后端。 我希望我明确expression我的观点。 任何帮助表示赞赏?

与socket.io Cloudflare SSL握手失败

这是我正在使用的代码: "use strict" var express = require('express'); var https = require('https'); var app = express(); var bodyParser = require('body-parser'); app.enable('trust proxy'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); var fs = require('fs'); var options = { cert: fs.readFileSync('ssl_certs/cert.pem'), key: fs.readFileSync('ssl_certs/privkey.pem'), requestCert: true, }; var server = https.createServer(options, app); var io = require('socket.io')(server); var port = 2083 server.listen(port, […]

在node.js中使用https.request时,套接字挂起

当使用https.request和node.js v04.7时,出现以下错误: Error: socket hang up at CleartextStream.<anonymous> (http.js:1272:45) at CleartextStream.emit (events.js:61:17) at Array.<anonymous> (tls.js:617:22) at EventEmitter._tickCallback (node.js:126:26) 简化的代码将会产生错误: var https = require('https') , fs = require('fs') var options = { host: 'localhost' , port: 8000 , key: fs.readFileSync('../../test-key.pem') , cert: fs.readFileSync('../../test-cert.pem') } // Set up server and start listening https.createServer(function (req, res) { res.writeHead(200, […]

HTTPS NodeJS和Heroku。 强制HTTPS?

我有一个在Heroku上运行的NodeJS HTTP(非S)服务器。 我configuration了SSL,并接受对HTTPS的请求。 我使用香草HTTP服务器的原因是因为以下原因 : SSL termination occurs at Heroku's load balancers; they send your app plain (non-SSL) traffic, so your app should create a non-HTTPS server." 不幸的是,我的应用程序仍然响应简单的HTTP请求。 我想强制redirect或从HTTP到HTTPS的东西。 我可以用一些中间件来做到这一点: /* At the top, with other redirect methods before other routes */ app.get('*',function(req,res,next){ if(req.headers['x-forwarded-proto']!='https') res.redirect('https://mypreferreddomain.com'+req.url) else next() /* Continue to other routes if we're not […]

javascript可以指定全局/默认选项来设置HTTPS连接?

如果我的节点服务器正在使用自签名证书进行HTTPS连接,则可以通过向https.get函数传递“ca”选项来使其工作。 var get = https.get({ path: '/rest', host: 'localhost', port: 8443, ca: [ fs.readFileSync('self-signed-cert.pem') ] }, function(x) { … }); 但是我正在使用HTTPS连接的第三方库,所以我无法控制通话。 有没有办法指定所有的HTTPS连接都应该信任这个证书? 像Java的信任库。

没有域的SSL证书

我有一堆node.js应用程序通过websockets(ws://)向apache站点提供信息。 该网站本身没有域名,并通过其IP地址访问(这是不可谈判的,不幸的是…) 问题如下: 没有安全连接,浏览器将阻止ws://stream量,所以我必须使用SSL和安全websockets wss:// 如果没有域名,除了生成自签名证书之外,我无法保护连接。 自我生成的证书不被浏览器信任,并显示错误“证书不可信…”。 最后一次chrome更新使得通过消息更加恼人。 除此之外, IP定期更换,并在发生时发送给用户(2-3人)。 因此,针对特定IP颁发的证书并不理想(如果免费,我可以处理刷新证书的麻烦)。 有没有人有办法解决吗 ?

Node.js:访问客户端证书

我正在研究一个Node.js应用程序,我们将其称为“服务器A”,用户必须提供客户端证书才能访问服务。 简单的例子: /** server setup **/ var serverOptions = { key: fs.readFileSync('certs/server.key'), cert: fs.readFileSync('certs/server.crt'), ca: [fs.readFileSync('certs/ca.crt'), fs.readFileSync('certs/bar.cer'), fs.readFileSync('certs/foo.cer')], requestCert: true }; https.createServer(serverOptions, app).listen(SERVER_PORT, '', null, function () { var host = this.address().address; var port = this.address().port; console.log('listening at http://%s:%s', host, port); }); 一切正常,下面的代码打印客户端证书的详细信息。 app.get('/', function (req, res) { /*** Dump ***/ res.contentType('application/json'); res.send(util.inspect(req.socket.getPeerCertificate(true), {colors: true})); […]

如何创build一个sails.js应用程序,它将同时在两个不同的端口上侦听

例如,我有一个sails.js应用程序(默认情况下)侦听端口1337.我想configuration它在两个不同的端口上同时侦听 – 一个用于SSL,一个用于非SSL通信。 这甚至有可能吗? 我已经search了文档,找不到一个例子,除了设置一个单一的端口值以外,还有其他的例子。 我是否需要创build一个像Apache或者nginx这样的前端,才能坚持使用纯粹的node.js解决scheme – 也许是用express? 我应该补充说,我只是通过socket.io使用服务器的networking套接字 一个工作的例子将是伟大的,但任何提示和指针将有所帮助。