1. 为什么会选择百度的CDN?
2. 域名不备案可以选择百度CDN吗?
3. 为什么要做这个工具?
4. 为什么只支持cloudflare?
CNAME记录,只支持cloudflare,在域名解析的时候,可以使用其他服务商,用的是acme的三方包,所以支持大部分市面上的DNS服务商,详情查看acme.sh。cloudflare,如果有其他服务商的需求可以提issue。5.推荐什么方式运行?
6. 如何知道服务商支持的域名解析?
acme.sh中找到对应的服务商的环境变量。7. 为什么我无法运行?
config.yaml文件,或者没有配置CLOUDFLARE_EMAIL、CLOUDFLARE_API_KEY、BAIDUYUN_ACCESSKEY、BAIDUYUN_SECRETKEY这些必须要的环境变量。acmeGoBaidu需要go1.21才能安装成功。执行一下命令
go install -v github.com/wjlin0/acmeGoBaidu/cmd/acmeGoBaidu@latest
下载准备运行的二进制文件
在运行的当前目录下创建一下config.yaml 文件
acme:
email: "[email protected]"
domains:
- domain: "cdn.wjlin0.com"
provider: "cloudflare"
to: 'ali,kodo'
ali:
kodo:
bucket: "wjlin0"
region: "cn-chengdu"
cname:
enabled: true
value: "wjlin0.oss-cn-chengdu.aliyuncs.com."
- domain: "www.wjlin0.com"
provider: "cloudflare"
to: 'baidu,cdn'
baidu:
cdn:
origin:
- peer: "https://test.wjlin0.com:10443"
host: "www.wjlin0.com"
isp: "cm"
- peer: "http://test.wjlin0.com:1080"
host: "www.wjlin0.com"
isp: "cm"
form: dynamic
ipv6: true
http2: true
quic: true
http3: true
dsa:
enabled: true
rules:
- type: "method"
value: 'GET;POST;PUT;DELETE;OPTIONS'
- type: "path"
value: "/"
cname:
enabled: true
value: "www.wjlin0.com.a.bdydns.com."
配置服务商、百度的认证信息
例如:cloudflare的认证信息
export CLOUDFLARE_EMAIL="[email protected]"
export CLOUDFLARE_API_KEY="xxxxx"
export BAIDUYUN_ACCESSKEY="xxxxx"
export BAIDUYUN_SECRETKEY="xxxxx"
export OSS_ACCESS_KEY_ID="xxxxx"
export OSS_ACCESS_KEY_SECRET="xxxxx"
创建完成后执行以下命令
acmeGoBaidu
docker run -d --name acmeGoBaidu -e CLOUDFLARE_EMAIL="[email protected]" -e CLOUDFLARE_API_KEY="xxxxx" -e BAIDUYUN_ACCESSKEY="xxxx" -e OSS_ACCESS_KEY_ID="xxxx" -e OSS_ACCESS_KEY_SECRET="xxxx" -e BAIDUYUN_ACCESSKEY="xxxx" -e CRON="0 0 * * 1" -v ./data/config.yaml:/app/config/config.yaml -v ./data/certs:/app/certs wjlin0/acmegobaidu:latest
编写一下yaml文件
apiVersion: v1
kind: ConfigMap
metadata:
name: acme-go-baidu-config
data:
config.yaml: |
acme:
email: "[email protected]"
domains:
- domain: "cdn.wjlin0.com"
provider: "cloudflare"
to: 'ali,kodo'
ali:
kodo:
bucket: "wjlin0"
region: "cn-chengdu"
cname:
enabled: true
value: "wjlin0.oss-cn-chengdu.aliyuncs.com."
- domain: "www.wjlin0.com"
provider: "cloudflare"
to: 'baidu,cdn'
baidu:
cdn:
origin:
- peer: "https://test.wjlin0.com:10443"
host: "www.wjlin0.com"
isp: "cm"
- peer: "http://test.wjlin0.com:1080"
host: "www.wjlin0.com"
isp: "cm"
form: dynamic
ipv6: true
http2: true
quic: true
http3: true
dsa:
enabled: true
rules:
- type: "method"
value: 'GET;POST;PUT;DELETE;OPTIONS'
- type: "path"
value: "/"
cname:
enabled: true
value: "www.wjlin0.com.a.bdydns.com."
originTimeout: # 设置回源延迟时间
connectTimeout: 30
loadTimeout: 300 # 如果你对ws 有长连接需求需要对这个参数设置较长时间
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: acme-go-baidu-deployment
spec:
selector:
matchLabels:
app: acme-go-baidu
template:
metadata:
labels:
app: acme-go-baidu
spec:
restartPolicy: Always
containers:
- name: acme-go-baidu-container
image: wjlin0/acmegobaidu:latest
resources:
limits:
memory: '32Mi'
cpu: '50m'
env:
- name: CONFIG_PATH
value: '/app/config/config.yaml'
- name: JSON_PATH
value: '/app/certs/certificate.json'
- name: CRON
value: '0 0 * * 1' # 每周一凌晨执行
- name: CLOUDFLARE_EMAIL
value: '[email protected]'
- name: CLOUDFLARE_API_KEY
value: 'xxxxx'
- name: BAIDUYUN_ACCESSKEY
value: 'xxxxx'
- name: BAIDUYUN_SECRETKEY
value: 'xxxxx'
- name: OSS_ACCESS_KEY_ID
value: 'xxxxx'
- name: OSS_ACCESS_KEY_SECRET
value: 'xxxxx'
command:
- "acmeGoBaidu"
volumeMounts:
- mountPath: '/app'
subPath: 'acmeGoBaidu.yaml'
name: config
readOnly: true
- mountPath: '/app/certs'
name: certs
volumes:
- name: config
configMap:
name: acme-go-baidu-config
- name: certs
persistentVolumeClaim:
claimName: acme-go-baidu-pvc
创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: acme-go-baidu-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
# 创建 pvc
kubectl create -f pvc.yaml
# 运行
kubectl apply -f acmeGoBaidu.yaml
根域名可能无法配置CNAME 记录,配置后,不生效
Content type
Image
Digest
sha256:e7f5d125b…
Size
28.8 MB
Last updated
almost 2 years ago
docker pull wjlin0/acmegobaidu