问题标签 [cloudflare-workers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 Cloudflare Workers 将图像发送到 Telegram
我尝试使用 Cloudflare Workers 向 Telegram 发送图像,但我的 Telegram 帐户中没有收到图像。我的代码也可以在 Chrome 开发者控制台中正常工作,所以 Cloudflare Workers 有问题。你可以帮帮我吗?
mongodb - 如何使用 Cloudflare 工作人员在 MongoDB 中进行查询?
我正在尝试使用 mongodb 查询 mongodb simple findOne。Cloudflare 工作人员提供 10 毫秒 CPU 时间,但在预览/发布期间抛出错误
我试过安装这些 npm 模块
抛出的错误在这里 - https://pastebin.com/xMKKjdZF
vue.js - Cloudflare Workers - 带有 Vuejs 的 SPA
您好,我已使用以下命令将我的 Vue.js 应用程序部署到 Cloudflare 工作人员:
这是我的 wrangler.toml:
该网站很好,并且在“xxx.com”上运行,但是当我在任何其他路线上刷新页面时,我收到以下错误消息:
在您的内容命名空间中找不到 es-es/index.html
或者例如:
在您的内容命名空间中找不到 category/65/index.html
在 nginx 上,我必须创建一个 .htaccess,但我不知道如何让它在这里工作。
这是我的 index.js 以防万一:
cloudflare-workers - 如何在 Cloudflare 的工作人员中获取当前日期
Cloudflare 的工作人员上通常的 Date 对象,都返回 1 jan,1970...
在工人代码中获取当前日期时间的正确方法是什么?
谢谢,
G
javascript - Next.js - 使用 Clouflare Workers 进行无服务器渲染?
我正在使用 Next.js v9,并希望通过将我的应用程序与 Cloudflare Workers 一起使用来利用 Next 的无服务器部署选项。
从 Next.js 文档中,我知道 Next 创建的每个无服务器函数都具有以下签名:
当使用 Node 的http.Server
类(express
例如使用)时,传入req
andres
对象变得微不足道,并且在文档中显示了一个示例。
但是,问题在于 Cloudflare Workers 使用的对象Request
与Response
Next 预期的不同。他们的Request
对象的文档可以在这里找到,他们的对象的文档Response
可以在这里找到。
因此,虽然在 Cloudflare Workers 上运行的简单“hello world”应用程序看起来像这样:
并呈现一个简单的 Next.js 函数可能看起来像这样:
resuest 和 response 类型之间存在固有的不匹配,因此我怀疑会引发错误。
我知道我需要修改这些,以便它们按照 Next.js 的预期传递。我知道Request
可以修改 Worker 的对象,如此处所示。但我不确定如何使其与http.IncomingMessage
对象完全匹配。而且我也不确定如何格式化Response
对象。有什么想法吗?
谢谢
cloudflare-workers - 使用 cloudflare 工作人员修改链接 href
我正在尝试将 subdomain.com 代理到 domain.com/blog,而 Discourse 是博客的软件。
我有以下代码:
它可以工作,但是页面不起作用,因为所有 chrome 都会给出 404 错误,我这是由这些代码行(示例)引起的:
我相信 Chrome 正在尝试使用亲属路径加载资产,因此它使用根域,该域没有要加载的资产,因此返回 404 错误。
我该如何解决这个问题,或者如果我对问题的根源有误,完成我想要的?
javascript - 在 cloudflare-worker 服务上解析原始正文(非节点)
我已经使用 cloudflare-worker 在 cloudflare 上创建了一个 api server'ish 环境,并且没有运行节点服务器(cloudflare-worker 几乎是无服务器事件处理程序服务)。它确实提供了处理任何子域调用的配置,就像 api 的工作方式一样。我使用了一个名为的包cf-worker-router
来执行此操作。我的云服务如下所示:
我所做的是创建一个对 url 的 POST 请求,并为请求提供了一些正文。我能够成功获取请求文本,但现在我不知道如何解析收到的文本。
当使用请求作为multipart/form-data
请求时,接收到的正文如下:
"----------------093590450792211419875705\r\n内容配置:表单数据;name=\"name\"\r \n\r\nJon Doe\r\n----------------------------093590450792211419875705--\r\n"
我尝试发送application/x-www-form-urlencoded
并且我的响应文本如下:
“名字=乔恩%20Doe”
和类似的application/json
请求:
"{\n\t\"name\": \"Jon Doe\"\n}"
由于 cloudflare 没有使用 nodejs 服务器,body-parser
所以不能在这里应用。该服务几乎是一个开放的 api,因此它需要处理各种请求内容类型。有什么方法可以识别和解码这些内容类型中的 strignified 内容为 javascript 中的有效对象?
cloudflare - cloudflare worker 重写主机头
如何在 cloudflare worker 中设置另一个主机头?例如,我为我网站的 www 记录设置了 1.2.3.4 ip 默认情况下,www 请求使用标头 www.ex.com 发送,但我想使用 new.ex.com 标头发送 www 请求
node.js - 是否可以将 Cloudflare Service Worker 用作代理 Web 服务器?
这只是一个初学者级别的问题,寻求一些建议,以下可能由于缺乏知识而误用了一些关键术语,但希望可以将关键信息传递给大家:
背景:
我的公司在 AWS 上托管一个网站,一切正常,除了它无法在中国加载,因为众所周知的中国防火墙将阻止中国以外的所有未注册/未经许可的网站;最好的解决方案可能是在中国托管服务器并获得中国政府批准的 ICP 许可证,但这需要时间和许多其他因素。因此,我们现在正在寻找一些替代方案,让我们的中国客户能够阅读我们网站上的内容。
主要思想:
使用 Cloudflare Service Worker 先从给定的网页获取 HTTP 资源,然后通过 Service Worker 将 HTTP 内容发送给用户(因为 Cloudflare 在中国可以访问)
示例:
让 Cloudflare 注册的 Service Worker URL 为:sample.workers.dev
要服务的目标网站内容:google.com
当用户尝试访问此域(sample.workers.dev)时,Service Worker 应尝试加载所有 HTTP 内容,包括来自 google.com 的图片、脚本和 css 在后端,然后直接将 HTTP 内容返回给用户
这将适用于我公司的客户,因为我们通常会生成一个 url 并通过电子邮件或其他方式发送给用户,因此我们可以向他们发送一个在中国可访问的第三方 url,同时实际从我们的原始网站加载内容。
我已经尝试了 Cloudflare 给出的所有示例:https ://developers.cloudflare.com/workers/templates/ 但到目前为止,我还没有准确地归档我想要的内容。
有什么想法吗?
javascript - 是否可以从 Cloudflare 工作人员重定向脚本中排除搜索机器人(如 Google)?
我使用 Cloudflare worker 将访问者重定向到正确的网站版本,如下所示:
问题是谷歌机器人被重定向到 website.com/us,因此我的谷歌入口将传入的访问者直接指向 /us 网站。有没有办法从国家重定向脚本中排除搜索机器人并将它们直接路由到 website.com 而不是 website.com/countrycode?