云Flare工人和API使用收集

经过Jon.

12月15日,2020年

云Flare Worker提供了一个无服务器的执行环境,允许您在不配置或维护基础架构的情况下创建完全新的应用程序或增强现有的应用程序。您的服务工作者将拦截发往域的所有HTTP请求,并且可以返回任何有效的HTTP响应。您的工作者可以向公共Internet上的任何服务器发出外向HTTP请求。

在这篇文章中,我列出了我的一些用法CloudFlare工人如何帮助我实现我的想法。 至少可以开始创建CloudFlare工人之前,您需要创建一个免费的CloudFlare帐户。如果您自己的域与CloudFlare集成了,它将更好地工作。 

  • 托管无服务器静态网页
  • 使用您自己的域名为您的工人
其他帖子:

托管无服务器静态网页

1 检查CloudFlare示例

返回HTML示例页面: //developers.cloudflare.com/workers/examples

直接在Worker脚本内部从HTML字符串提供HTML页面。

const html = `<!DOCTYPE html><body>  <h1>Hello World</h1>  <p>This markup was generated by a Cloudflare Worker.</p></body>`
async function handleRequest(request) {  return new Response(html, {    headers: {      "content-type": "text/html;charset=UTF-8",    },  })}
addEventListener("fetch", event => {  return event.respondWith(handleRequest(event.request))})


2 将示例代码复制到工人应用程序

3 保存和部署示例应用程序

4 使用wysiwyg HTML编辑器获取HTML代码 
我使用博主HTML编辑器创建一个页面然后将其切换到HTML视图以获取代码。然后将其复制回工作者应用程序代码区域<body> and </body>

YouTube视频:

使用您自己的域名为您的工人

1 创建子域名 

As mentioned earlier, domain names, such as 51sec,org must be hosted on or pointing to CloudFlare, and other DNS registrars will result in various weird errors.
域托管或指向CloudFlare很容易,创建DNS记录并指向任何有效的IP地址。

添加了新的DNS记录后,此记录名称将用于我们的工人应用程序的子域。添加此记录时,姓名 是要定制的子域(如Proxy.51sec.org)。 IPv4地址的值无关紧要,但关键是启用 Proxied.

2 关联的域名给工人

After you create Workers switch to your domain's Workers tab for the domain name (note that the domain name is here, where in Workers you won't find a place to associate it with your domain and then add the association to Add route

3 创建工人路线


Route fills in the subdomain with /*, (proxy.51sec.org/*) ,Worker selects the worker application we created before, who needs to customize the domain name access, so you need to create a Worker and then associate , to represent access to the Worker service through this custom domain name: proxy.51sec.org/*

完成后,您可以访问  Worker 通过自定义域名服务,例如 //proxy.51sec.org/

API设置DDNS 

云Flare DDNS.

云Flare本身没有官方DDNS支持,但它可以使用CloudFlare API实现。 GitHub项目 云Flare-DDNS. 提供一个很好的脚本,可使用API​​更新CloudFlare DNS IP。我已经把它分叉到了我的存储库中使用。 


示例:Ubuntu 18.04

Sudo -i
apt-get update -y & apt-get upgrade -y
来自github的第一个克隆代码
git clone //github.com/51sec/cloudflare-ddns.git

输入目录

cd cloudflare-ddns/

安装点

apt-get install python-pip
安装依赖项

pip install -r requirements.txt

重命名config.yaml.template文件

mv config.yaml.template config.yaml

修改config.yaml.

nano config.yaml

这几乎就是这样的:

%YAML 1.2
# CloudFlare DDNS updater script config.
---

# CloudFlare API key
# You can find this under Account > My account after logging into CloudFlare.
cf_key: 'cloudflare API Key'

# Email address for your CloudFlare account.
cf_email: 'CloudFlare log in email'

# Domain you're using CloudFlare to manage.
# If the host name you're updating is "ddns.domain.com", make this "domain.com".
cf_domain: 'root domain'

# The subdomain you're using for your DDNS A record.
# If the host name you're updating is "ddns.domain.com", make this "ddns".
# However, if you're updating the A record for the naked domain (that is, just
# "domain.com" without a subdomain), then set cf_subdomain to an empty value.
cf_subdomain: 'sub domain'

# CloudFlare service mode. This enables/disables CF's traffic acceleration.
# Enabled (orange cloud) is 1. Disabled (grey cloud) is 0.
cf_service_mode: 0

# If set to true, prints a message only when the record changes or when
# there's an error.  If set to 'false', prints a message every time even if
# the record didn't change.
quiet: false

# If set to true then we call the ec2metadata service for the instance
# public ip address rather than an external service.
aws_use_ec2metadata: false

# If set to true dig will be used to fetch the public IP which is better
# but not available on all systems.
use_dig: false

获取API键


创建子域名

运行脚本

python cloudflare_ddns.py config.yaml

添加计划任务

crontab -e

填写以下内容

# Every 15 minutes, check the current public IP, and update the A record on CloudFlare.
*/15 * * * * /root/cloudflare-ddns/cloudflare_ddns.py /root/cloudflare-ddns/config.yaml >> /var/log/cloudflare_ddns.log

预定作业配置完成后,IP将每15分钟更新为CloudFlare

来自Blogger. //blog.fabiandinkins.com/2020/12/cloudflare-workers-and-api-usage.html

经过 Jon.

发表评论