Cloudflare domain name binding AWS ALB load balancer
Step1:購買域名
本文以cloudflare為例:https://dash.cloudflare.com/
Step3:配置證書(cloudflare側)
DNS > 紀錄底下 > 新增紀錄
將「CNAME名稱」與「CNAME 值」填回cloudflare
Step4. 建立ALB目標群組
- 指派機器及端口(例如:你的服務部署在的機器及“對外”端口)
Step5. 建立ALB負載均衡器
需要仔細檢查以下項目是否有配置正確
- vpc是否正確
- subnet是否正確(內外zone,與映射的目標群組相同subnet)
- 安全群組是否正確
- ACM(域名證書)
- 偵聽器HTTPS/443指向剛才建立的目標群組
- Auto Scaling 的「負載平衡器目標群組」需要關聯目標群組
- Auto Scaling>網路>可用區域>確認subnet
Step6. 配置HTTP偵聽器
讓HTTP/80流量也自動導轉到HTTPS/443
Step7. 新增標頭(cloudflare側)
DNS > 紀錄底下 > 新增紀錄
「CNAME名稱」填寫「*」代表所有標頭
「CNAME 值」填寫指定ALB的DNS地址
以上這樣
訪問 *.你的域名就會自動打到剛才目標群組註冊的機器及端口上了!
同場加映:配置Caddy反向代理
Caddyfile撰寫方式
#統一對外端口為8080
:8080 {
handle_path / {
respond "ok"
}
metrics /metrics
}
#域名及服務模組
http://tmp.你的域名:8080 {
encode gzip
log {
output file /var/log/caddy/日誌名稱.log {
roll_size 10mb
roll_keep_for 168h
}
}
@變數名稱 {
path /model/路徑/*
}
reverse_proxy @變數名稱 http://容器名稱:8080 {
header_up Host {http.reverse_proxy.upstream.hostport}
health_status 2xx
health_interval 10s
health_timeout 3s
}
}
驗證
nslookup > api.你的域名.com(走*標頭對應的ALB)
nslookup > tmp.你的域名.com(走tmp標頭對應的ALB)
— -等待生效 — -