Articles of cloudflare

Socket.IO,SSL问题与cloudflare

我有一个socket.io应用程序,基本上从前端接收信号,以杀死和启动一个新的ffmpeg进程(基于.spawn())。 一切都像预期的那样工作,但是我经常从cloudflare中得到一个525错误。 错误消息是:Cloudflare无法build立与原始服务器的SSL连接。 它的工作原理是10次中的9次。我注意到,只要kill + spawn完成,就会出现更多的这些错误。 难道是事件阻塞事件循环,并因为这阻止所有传入的请求和cloudflarelogging这些握手失败错误? 联系cloudflare支持让我回到这个信息(这是他们对我的服务器的要求): Time id host message upstream 2017-08-16T09:14:24.000Z 38f34880faf04433 xxxxxx.com:2096 peer closed connection in SSL handshake while SSL handshaking to upstream https://xxx.xxx.xxx.xxx:2096/socket.io/?EIO=3&transport=polling&t=LtgKens 我现在正在debugging一段时间,但似乎无法自己find解决scheme。 这是我如何初始化我的socketIO服务器。 /** * Start the socket server */ var startSocketIO = function() { var ssl_options = { key: fs.readFileSync(sslConfig.keyFile, 'utf8'), cert: fs.readFileSync(sslConfig.certificateFile, 'utf8') }; self.app = […]

以编程方式清除cloudflarecaching

我试图清除cloudflarecaching单个url后,将请求放入node.js api。 我正在使用https://github.com/cloudflare/node-cloudflare库,但是我不知道如何logging从cloudflare的callback。 根据同一个仓库中的testing文件,语法应该是这样的: //client declaration: t.context.cf = new CF({ key: 'deadbeef', email: 'cloudflare@example.com', h2: false }); //invoke clearCache: t.context.cf.deleteCache('1', { files: [ 'https://example.com/purge_url' ] }) 我怎样才能读出这个请求的callback? 我已经在我自己的代码中尝试了以下内容: client.deleteCache(process.env.CLOUDFLARE_ZONE, { "files": [url] }, function (data) { console.log(`Cloudflare cache purged for: ${url}`); console.log(`Callback:${data}`); }) 和: client.deleteCache('1', { files: [ 'https://example.com/purge_url' ] }).then(function(a,b){ console.log('helllllllooooooooo'); }) 无济于事。 🙁

CloudFlare如何指向2087端口https?

据了解,现在CloudFlare支持2087作为Https的端口 我有一个域可以说www.somethign.com ,它是安全使用CloudFlare 我在特定的端口上运行我的node.js。 如果我select一个端口8080, 这是一个端口允许http ,然后我打电话给我的页面,如: http://www.mydomaidnExample.com:8080/webhook 它完美的作品。 但是当我为https设置一个端口时, 比如2087,并且这样称呼它 http://www.mydomadin.com:2087/webhook 我得到这个错误 我该怎么做? 请注意,这个url 本地主机:2087 /networking挂接 正在服务器上工作 更新 防火墙已closures

Socket.io – 通过Cloudflare的SSL

我已经阅读了几乎所有可能的关于如何通过socket.io接收SSL的教程,我似乎无法使其工作。 我的后端JS如下: var express = require('express'); var options = { key: fs.readFileSync('/key.key'), cert: fs.readFileSync('/crt.crt'), requestCert: true }; var app = express(); var server = require('https').createServer(options, app); var io = require('socket.io').listen(server); server.listen(2096, "IP Address"); 前台JS: SOCKET = io('https://name.com:443', {secure: true}); 我正在使用完整的SSL,在我的服务器上安装了cloudflare签名的证书。 连接时我也收到以下错误: POST https://name.com/socket.io/?EIO=3&transport=polling&t=LcBk2Vk 404() 我不确定我的端口是不正确的还是我完全错过了一些东西。 我很高兴提供更多的代码片段。 提前致谢

CloudFlare“SSL:灵活的”HTTPS不能在自定义端口上工作

我在CloudFlare上的域名指向了DigitalOcean Droplet的IP地址。 当尝试使用自定义端口通过CloudFlare上的域访问网站时,我得到: error 525 SSL handshake failed 。 我的CloudFlare Crypto SSL is set to: Flexible (…据我所知 – 在DigitalOcean液滴上不需要SSL)。 示例地址: 通过DigitalOcean IPv4 (服务器上没有安装SSL) http://46.101.xxx.xxx/ – 100%的工作 https://46.101.xxx.xxx/ – 0%根本不工作(服务器设置为:80) http://46.101.xxx.xxx:2053/api – 100%的工作 http://46.101.xxx.xxx:2083/ – 100%的工作 通过CloudFlare : https://example.com/ – 100%的工作 https://example.com:2053/api – 来自CloudFlare的50%错误:525 SSL握手失败 https://example.com:2083/ – 来自CloudFlare的50%错误:525 SSL握手失败 我将服务器configuration为使用为https连接保留的端口:https: //support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with- 当我设置主服务器使用端口:443而不是:80它显然不工作,因为我没有服务器上的SSL。 https://example.com:2053/api应该如何configuration为与CloudFlare配合使用?

cloudflare上的Node.js https

我有一个快递服务器,我正在使用。 我正在使用灵活SSL的专家帐户开启cloudflare中的SSL。 这意味着我可以打开它,它应该自动工作,没有任何服务器端更改? 还是有什么我必须做的服务器上?

云Flare和Nodejs与Python

我有以下非常简单的几行代码来抓取云闪耀和Java脚本启用网站。 但是我收到以下错误。 缺lessNode.js运行时。 节点是必需的。 请阅读cfscrape自述文件的依赖部分: https : //github.com/Anorov/cloudflare-scrape#dependencies 。 正如文档中所述,我的基于Windows的计算机上安装了以下所有软件。 依赖 Python 2.6 – 3.x, 请求> = 2.0, PyExecJS, Node.js是(安全的)Javascript执行所必需的。 导入cfscrape 导入execjs 导入npm 导入nodejs 从scrapy导入* 从lxml导入etree 导入系统 从bs4导入BeautifulSoup 重装(SYS) sys.setdefaultencoding函数( 'UTF8') scraper = cfscrape.CloudflareScraper() 打印scraper.get(“ http://www.sample.co.uk/ ”).content 任何帮助将不胜感激。

如何让node.js / socket.IO服务器与cloudflare一起工作?

我有一个最近受到攻击的node.js / socket.IO服务器,所以我决定开始使用cloudflare来隐藏我的服务器IP。 但是,任何人都可以轻松地从客户端JavaScript文件获取服务器IP。 有什么我可以做,通过cloudflare而不是我的服务器直接连接,所以我可以帮助防止攻击者获取服务器IP? 例如: var client = io.connect('http://141.101.xxx.xxx:466'); 当我ping使用cloudflare的域时,这将是IP。 我尝试直接连接到它。 即使试图连接到域本身似乎并没有工作 var client = io.connect('http://mydomainthatusescloudflare.com:466'); 唯一有用的东西是直接连接到服务器,而不经过cloudflare(从而揭示IP) var client = io.connect('http://217.xxx.xxx.xxx:466');

与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, […]

Cloudflare HTTP POST 524使用node.js + express超时

在启用cloudflare时,使用HTTP POST时遇到问题。 它保持返回524超时。 Failed to load resource: the server responded with a status of 524 (Origin Time-out) 但是当我禁用cloudflare,HTTP POST工作正常。 任何想法可能导致这个? UPDATE 我正在使用AJAX POST,这与ajax有什么关系? 谢谢。