文件
一個 專案

HTTPS 快速入門

本指南將教您如何在短時間內使用 全自動 HTTPS 開始執行。

先備條件

  • 基本的終端機/命令列技能
  • 基本的 DNS 知識
  • 已註冊的公開網域名稱
  • 對埠 80 和 443 的外部存取權
  • PATH 中的 caddycurl

在本教學中,請將 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!"
							}]
						}
					]
				}
			}
		}
	}
}