HTTPS 快速入門
本指南將向您展示如何在短時間內開始使用完全託管的 HTTPS。
先決條件
- 基本終端機/命令列技能
- 對 DNS 的基本理解
- 已註冊的公共網域名稱
- 外部存取端口 80 和 443
caddy
和curl
在您的 PATH 中
在本教學中,請將 example.com
替換為您的實際網域名稱。
設定您網域的 A/AAAA 記錄指向您的伺服器。您可以透過登入您的 DNS 提供商並管理您的網域名稱來完成此操作。
在繼續之前,請透過權威查詢驗證記錄是否正確。將 example.com
替換為您的網域名稱,如果您使用 IPv6,請將 type=A
替換為 type=AAAA
curl "https://cloudflare-dns.com/dns-query?name=example.com&type=A" \
-H "accept: application/dns-json"
另請確保您的伺服器可以從公共介面在外部存取端口 80 和 443。
我們所要做的就是在配置中使用您的網域名稱啟動 Caddy。有多種方法可以做到這一點。
Caddyfile
這是取得 HTTPS 最常見的方式。
建立一個名為 Caddyfile
(無副檔名)的檔案,其中第一行是您的網域名稱,例如
example.com
respond "Hello, privacy!"
然後從同一個目錄執行
caddy run
您將看到 Caddy 配置 TLS 憑證並透過 HTTPS 提供您的網站。這是因為您網站的位址在 Caddyfile 中包含網域名稱。
file-server
命令
如果您只需要透過 HTTPS 提供靜態檔案,請執行此命令(替換您的網域名稱)
caddy file-server --domain example.com
您將看到 Caddy 配置 TLS 憑證並透過 HTTPS 提供您的網站。
reverse-proxy
命令
如果您只需要透過 HTTPS 的簡單反向代理(作為 TLS 終止器),請執行此命令(替換您的網域名稱和實際後端位址)
caddy reverse-proxy --from example.com --to localhost:9000
您將看到 Caddy 配置 TLS 憑證並透過 HTTPS 提供您的網站。
JSON 配置
一般經驗法則是,任何主機匹配器都會觸發自動 HTTPS。
因此,如下所示的 JSON 配置將啟用生產就緒的自動 HTTPS
{
"apps": {
"http": {
"servers": {
"hello": {
"listen": [":443"],
"routes": [
{
"match": [{
"host": ["example.com"]
}],
"handle": [{
"handler": "static_response",
"body": "Hello, privacy!"
}]
}
]
}
}
}
}
}