HTTPS 快速入門
本指南將教您如何在短時間內使用 全自動 HTTPS 開始執行。
先備條件
- 基本的終端機/命令列技能
- 基本的 DNS 知識
- 已註冊的公開網域名稱
- 對埠 80 和 443 的外部存取權
- PATH 中的
caddy
和curl
在本教學中,請將 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!"
}]
}
]
}
}
}
}
}