Caddy

功能跟nginx相似, 由 Golang所寫 且提供自動renew SSL.

Install

https://caddyserver.com/docs/install#debian-ubuntu-raspbian

Mac

brew install caddy

Ubuntu

Stable releases:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

2. Candyfile

https://caddyserver.com/docs/caddyfile-tutorial

Ubuntu

Caddy 預設設定檔會讀取 /etc/caddy/Caddyfile 先檢查是否有此資料夾,沒有的話就新增一個

sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
Caddyfile example
kkk.com.tw {
        # Set this path to your site's directory.
        root * /usr/share/caddy

        try_files {path} /index.html

        # Enable the static file server.
        file_server

        tls kimi0230@gmail.com
        # Another common task is to set up a reverse proxy:
        # reverse_proxy localhost:8080

        # Or serve a PHP site through php-fpm:
        # php_fastcgi localhost:9000
}

yyy.com.tw {
        reverse_proxy /* 127.0.0.1:5566
        file_server
}

3. Caddy 會將 SSL 放在 /etc/ssl/caddy

沒有的話要先建立資料夾

sudo mkdir /etc/ssl/caddy
sudo chown -R root:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

4. 啟動 Caddy

方法ㄧ打指令
caddy adapt --config /path/to/Caddyfile caddy reload
caddy run
方法二: 開機自動執行
# 重新載入 service
sudo systemctl daemon-reload

 # 開機自動啟動
sudo systemctl enable caddy

5. 啟動 Caddy 看看

sudo systemctl start caddy # 啟動 Caddy
sudo systemctl status caddy # 檢視 Caddy 狀態

6. dig

nslookup leetcode.com
dig leetcode.com

7. 其他

Basic auth

https://caddyserver.com/docs/caddyfile/directives/basicauth

  1. 先用hash-password 產生password caddy hash-password --plaintext <your password>
  2. 在 caddy file上補上 Syntax
    basicauth [<matcher>] [<hash_algorithm> [<realm>]] {
     <username> <hashed_password_base64> [<salt_base64>]
     ...
    }
    
kimi.example.com {
        basicauth /* {
                kimi xxxxxxxxxxxxxxxxxxxxxxxxxxxx
        }
}

Reference

© Kimi Tsai all right reserved.            Updated : 2023-07-12 09:04:54

results matching ""

    No results matching ""

    results matching ""

      No results matching ""