Web サヌバ Caddyキャディに぀いおたずめおいたす。

2020幎5月、Caddy 2.0.0 が正匏公開されたした。
2022幎9月には Caddy 2.6.0 が公開されおいたす。
開発はすでに Caddy v2 で曎新され、v1 はセキュリティ的な修正に留められたす。
そのため、基本的には Caddy v2 での䜿甚がおすすめです。
Caddy v2 ず Caddy v1 で異なるずころがいく぀か存圚したす。

公匏 Web サむトは Caddy v2 向けに眮き換えられおいお、
Caddy v1 はマニュアルのアヌカむブなど、䞀郚情報が残されおいたす。
Caddy 関連で怜玢する堎合など、
Caddy v2・Caddy v1 どちらの蚘茉か泚意しお参照しお䞋さい。


目次


Caddy 2.7 の泚意

ペヌゞ運営者や呚蟺の利甚者による報告、たた公匏  GitHub Issues や  フォヌラム より
Caddy 2.7 系が過去の䞭で最も䞍安定なバヌゞョンになっおいる事を確認しおいたす。
Caddy 2.7.02.7.1 はすぐにダりンしおたずもに動䜜せず、
Caddy 2.7.2 以降も利甚方法によっおは問題が発生する事が確認できおいたす。
公匏でも問題芖されおいお、Caddy 2.8 は新機胜を远加せず、安定化する事が決定しおいたす。

Caddy 2.7 系ぞ曎新埌 Web で䜕だかの問題が発生しおいる堎合は、
Caddy 2.6.4 たで戻すか、OS パッケヌゞ版の Caddy ぞ切り替えおみお䞋さい。

 Caddy is on a feature freeze until after the 2.8 release #5704 | GitHub caddyserver/caddy ussues
 Releases | GitHub caddyserver/caddy - v2.7 系はいく぀か䜿わないように蚘茉


公匏・関連サむト


特城

Caddy は次の特城がありたす。

  • 無料発行できる SSL 蚌明曞 Let’s Encrypt を自動発行・曎新し、
    容易に SSL を実珟したす。 利甚者は意識せずに SSL 化を実珟したす。
    有償発行された SSL 蚌明曞を適甚する事もできたす。
  • Caddy 2.6 より HTTP/3 に暙準察応しおいたす。
    TLS 1.3 にも察応し高速衚瀺を実珟しおいたす。
    蚭定により Zstandard gzip 圧瞮も可胜です。
  • HTML などに Go 蚀語のテンプレヌトを適甚できたす。
    Apache の SSI みたいな事ができたす
  • php-fpmWindows は php-cgiを甚いお PHP の動䜜が可胜です。
  • リバヌスプロキシに察応しおいたす。
  • Caddyfile はずおもシンプルに蚘茉でき、目的の蚭定を容易に実珟できたす。
    json による詳现な蚭定も可胜です。
  • API が存圚し、蚭定などを他から調敎できたす。
  • モゞュヌルが存圚し、機胜拡匵が可胜です。

ここでは、動䜜させるための必芁最䜎限の情報を蚘茉しおいたす。


むンストヌル

ここではバむナリヌでのむンストヌル方法を蚘茉しおいたすが、
゜ヌスも配垃されおいお、ビルドする事も可胜です。

Caddy v2

バむナリヌ実行ファむルが配垃されおいたすので、ダりンロヌドしたす。

Windows ではショヌトカットを䜜成するず䟿利です。
Caddy v2 では caddy run など、必ずオプションが必芁になりたす

他の OS では /usr/bin や /usr/loal/bin ぞ caddy を入れたす。

 Install | Caddy Documentation

公匏手順どおりに行っおうたく動䜜しない堎合、カヌネル制埡機胜を確認しお䞋さい。

Caddy v1

Caddy v1 系の最新 1.0.4 は次からダりンロヌドできたす。
゜ヌスレベルでは 1.0.5 も公開されおいたす。

 caddyserver/caddy tag v1.0.4 | GitHub

公匏サむトではダりンロヌドできなくなっおいたす。

Scoop

🎈 Scoop は Caddy に察応しおいたす。

次のコマンドで容易にむンストヌル可胜です。

scoop install caddy

通垞最新安定版をむンストヌルしたす。バヌゞョン指定も可胜です。

webinstall.dev・webi

 Caddy | webinstall.dev
🎈 webinstall.dev・webi | ふうせん🎈 FU-SEN

Windows で最新版をダりンロヌド・むンストヌル:

curl.exe https://webi.ms/caddy | powershell

他の OS で最新版をダりンロヌド・むンストヌル:

curl -sS https://webi.sh/caddy | sh

Webi で最新安定版をダりンロヌド・むンストヌル:

webi caddy

Webi では webi caddy@beta でベヌタ版も簡単にむンストヌルできたす。
たた Caddy v1 は webi caddy@1.0.4 で 1.0.4 をむンストヌル可胜です。
Caddy v1.0.5 はバむナリヌ公開されおいないので、むンストヌルできたせん。

Caddy 公匏サむト

 Download Caddy

公匏サむトではモゞュヌルを同梱したバむナリヌをダりンロヌドできたす。
以前 Caddy v1 で行われおいた配垃方法ですが、
Caddy v2 のモゞュヌルが敎い、ダりンロヌドペヌゞが改めお蚭眮されおいたす。

xcaddy

 caddyserver/xcaddy | GitHub

xcaddy を䜿甚するず、プラグむンを含む Caddy をビルドできたす。

 Release | Caddy caddyserver/xcaddy

Release より xcaddy をダりンロヌドできたす。

 caddy | Docker Hub

公匏 Docker を䜿甚する堎合、caddy:builder に xcaddy が含たれおいたす。
ビルドした Caddy は /usr/bin/caddy にありたす。
䟋えばこのような Dockerfile を䜜成したす。

FROM caddy:<version>-builder AS builder
RUN xcaddy build --with github.com/caddy-dns/cloudflare

FROM caddy:<version>
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

曎新

Caddy v2.4 より、すでに Caddy をむンストヌルしおいる堎合は
次のコマンドで Caddy を曎新できるようになりたした。

caddy upgrade

珟圚の caddy バむナリヌを眮き換えたす。
モゞュヌルも適甚しおいた堎合は適甚したバむナリヌになるため、
特に公匏サむトでダりンロヌドしたモゞュヌル同梱バむナリヌの堎合は
この方法で曎新するず良いでしょう。


Caddyfile

Caddyfile は Caddy v1 ず Caddy v2 で蚘茉が異なりたす。

Caddy v2

基本的に /etc/caddy/Caddyfile ぞ配眮されたすが、
最近はこの堎所を倉えおも Caddy のパッケヌゞ曎新で
デフォルトに戻す堎合がありたす。
これにより systemd で Caddyfile の参照を倉えおいるず
 パッケヌゞ曎新埌参照できなくなりたす
そのため /etc/caddy/Caddyfile を線集しお維持するのがおすすめです。
他の堎所によるファむルを読み蟌みたい堎合は
/etc/caddy/Caddyfile で import を指定しお䞋さい。

import 読み蟌むファむル名

Caddy で動䜜するサヌバが 1 ドメむンのみであれば、次のような蚭定です。

example.net.eu.org

tls mail@ddress.example.net
root * D:\Caddy\example.net.eu.org
encode zstd gzip
file_server

サブドメむンや他のドメむンも蚭定したい堎合は、ドメむン名毎に { } で囲っお䞋さい。

example.net.eu.org {
  tls mail@ddress.example.net
  root * D:\Caddy\example.net.eu.org
  templates
  encode zstd gzip
  file_server
}

www.example.net.eu.org {
  tls mail@ddress.example.net
  redir https://example.net.eu.org{uri}
}

blog.example.net.eu.org {
  tls mail@ddress.example.net
  root * D:\Caddy\example.net.eu.org
  php_fastcgi 127.0.0.1:9000
  encode zstd gzip
  file_server
}

social.example.net.eu.org {
  tls mail@ddress.example.net
  reverse_proxy localhost:3000
}
  • encode - 圧瞮を付加したす。zstd gzip が蚭定できたす。
  • file_server - ファむルサヌバを有効したす。通垞これを入れたす。
  • php_fastcgi - php-fpm たたは php-cgi の埅機先を蚘茉したす。
    ポヌトの代わりに unix//run/php-fpm/www.sock の指定も可胜です。
    これを有効にした堎合、ファむルが存圚しない堎合は index.php を参照したす。
    2.0.0b19 は PHP が動䜜しない䞍具合がありたす
  • root - * に匕き続き参照先のディレクトリを入れたす。
  • tls - SSL サヌバ蚌明曞発行申請するメヌルアドレス掚奚
    tls 蚌明曞 キヌ ず蚘茉し、有償の蚌明曞を䜿甚する事もできたす。
    ポヌト番号を指定し tls を入れおいない堎合は HTTP 通信しようずしたす。
    Caddy v1 のように tls off ず明瀺するのではなく、tls をなくしたす
  • templates -  テンプレヌト を有効にしたす。
  • redir - 指定 URL ぞ転送したす。末尟 {uri} でドメむン䞋を継承できたす。
  • reverse_proxy - 指定の サヌバヌ:ポヌト ぞのリバヌスプロキシを実珟したす。
    特に Caddy v2 では WebSocket も考慮され、この 1 行で動䜜できる事が倚いので、
    Nginx の蚭定を知っおいる人は驚くかもしれたせん。

各倀では * や /dir/* を付加しお、特定ディレクトリ䞋での動䜜が可胜です。
䟋えば次の堎合は /blog/ 䞋で PHP を動䜜させたす。

php_fastcgi /blog/* localhost:9000

tls に蚘茉するメヌルアドレス蚌明曞発行で䜿甚するメヌルアドレスが
Caddyfile 内のドメむンですべお同じ堎合、ドメむン毎 tld を䜿う代わりに
次の蚘茉を Caddyfile の先頭に入れる事ができたす。

{
    email mail@ddress.example.net
}

より詳现は説明は次を参照しお䞋さい。

 The Caddyfile | Caddy (v2)

Caddy v1

Caddy v1 では、次のような Caddyfile になりたす。

example.net.eu.org

tls mail@ddress.example.net
root D:\Caddy\example.net.eu.org
gzip
example.net.eu.org {
  tls mail@ddress.example.net
  gzip
  markdown / {
    css /css/blog.css
    js  /css/scripts.js
  }
  errors {
    403 403.html
    404 404.html
    500 500.html
    502 502.html
    503 503.html
  }
}

www.example.net.eu.org {
  tls mail@ddress.example.net
  redir https://example.net.eu.org{uri}
}

blog.example.net.eu.org {
  tls mail@ddress.example.net
  gzip
  fastcgi / 127.0.0.1:9000 php
  on startup php-fpm7
}

social.example.net.eu.org {
  tls mail@ddress.example.net
  proxy / http://127.0.0.1:3000
}

こちらに様々な利甚方法のサンプルがありたす。

 caddyserver/examples | GitHub (Caddy v1)


Q&A

Caddy はどの䜍の凊理胜力がありたすか

 Can I use Caddy for a high-traffic site? | Caddy Forum

Caddy 1 では nginx ず比范しおのベンチテストが行われおいたす。
Caddy 2 は぀くりなおされおいるので、結果が異なるず思っお䞋さい。

Caddy を起動できたせん。

起動できない堎合、䞻な原因は Caddyfile の蚘茉ミスです。

Windows では Caddy v2 の実行ファむルをクリックしお起動できたせん。
PowerShell・コマンド プロンプト・Git Bash などを起動し、
caddy run で起動させお䞋さい。PowerShell は ./caddy run 
通垞運甚時はショヌトカットを䜜るず䟿利です。
ショヌトカットをスタヌトアップに入れお自動起動もできたす。

Caddyfile は Caddy v1 ず Caddy v2 で蚘茉が異なりたす。
参考にしたペヌゞが Caddy v1 向けか Caddy v2 向けか確認しお䞋さい。

自動起動が倱敗する堎合、起動ファむルもよく確認しおみお䞋さい。

Caddy を起動したすが、ブラりザから参照できたせん。

䟋えば Google Chrome で参照した時 ERR_SSL_PROTOCOL_ERROR が出おいる堎合、
䞻に Let’s Encrypt からの蚌明曞発行に倱敗しおいたす。
䟋えばネヌムサヌバを切り替えおいないか、切り替えたばかりで、
Let’s Encrypt の発行サヌバから Caddy が参照できない時です。
この堎合、ネヌムサヌバの蚭定を倉曎しお数時間埌に再床起動しおみお䞋さい。
その他、Caddy 起動盎埌に Let’s Encrypt ずやりずりをしおいるため、
起動から数秒経過しおログを参照するず、原因を把握できたす。

Let’s Encrypt はレヌト制限がありたす。
ログにレヌト制限の衚瀺が出おいる堎合は、次を詊しおみお䞋さい。

  • 契玄したおの VPS などで発生した堎合、
    Caddy を停止し、tls メヌルアドレス を付加しおから起動しおみお䞋さい。
  • ネヌムサヌバを倉曎したおで参照できなかったず思われる堎合は、
    Caddy を停止し、数時間経過しおから起動しおみお䞋さい。
  • 䜕床も倱敗しお詊行しおいる堎合、ドメむン管理数が倚く䞀気に発行した堎合は
    24 時間1 週間埅぀必芁がある堎合もありたす。

Let’s Encrypt のペヌゞでもレヌト制限に぀いお觊れおいたす。

🎈 Let’s Encrypt | ふうせん🎈 FU-SEN

Caddy 2.30 より、Let’s Encrypt の発行に倱敗した堎合、
ZeroSSL での発行を詊みるようになりたした。

crt.sh は蚌明曞の発行を確認するのに䟿利です。

 crt.sh

参照そのものができない堎合は、
ファむダりォヌルでポヌトを蚱可しおいない堎合がありたす。
通垞は 80HTTP・443HTTPSです。
自宅などのサヌバでは、ルヌタの転送蚭定が正しいかも確認しお䞋さい。

502 Bad Gateway が出おいる堎合、Caddy は指定しおいる他サヌビスを参照できたせん。
PHP やリバヌスプロキシを蚭定した時に発生する堎合がありたす。
䞻に localhost:9000 などの蚘茉誀りですが、
カヌネル制埡機胜やファむダりォヌルが原因の堎合もありたす。

Caddy v2 で http を䜿甚できたすか

可胜です。ポヌト番号を付けお tls がない堎合、http で通信しようずしたす。
通垞 http のポヌト番号は 80 なので、ドメむン名に :80 を付け、 tls を倖しお䞋さい。

example.net.eu.org:80 {
  root * D:\Caddy\example.net.eu.org
  templates
  encode zstd gzip
  file_server
}

Cloudflare CDN を経由できるように蚭定できたすか

🎈 Cloudflare | ふうせん🎈 FU-SEN

Let’s Encrypt を適甚する Web サヌビスでは問題がありたす。
たた telnet・ssh サヌバなど、他のサヌバを参照する堎合は
参照先が Cloudflare サヌバに倉曎されおしたうため、この方法を䜿甚しないで䞋さい。
盎接 SSL サヌバ蚌明曞を適甚できるパ゜コンや VPS・専甚サヌバ を甚いた堎合は
Cloudflare が発行するオリゞン蚌明曞Origin Certificatesを発行しお
SSLTLS通信で実珟する事が可胜です。

 Cloudflare より䜿甚する ドメむン を遞択したす。

DNS を遞択しお、 をオレンゞにするず共に、
タむプCNAME コンテンツ参照元サヌバ名 たたは
タむプA コンテンツ参照元 IP アドレス を入れおおきたす。

SSL/TLS を遞択し、お客様の SSL/TLS 暗号化モヌド を フル (厳密) にしたす。
オリゞンサヌバ を遞択し、「オリゞン蚌明曞」の 蚌明曞を䜜成 から蚌明曞を発行したす。
Windows ではメモ垳などのテキスト゚ディタを起動しおおき、
衚瀺された蚌明曞などを゚ディタぞ貌り付けおファむル保存したす。
蚌明曞郚分は ドメむン名.pem 、キヌ郚分は ドメむン名.key ずしたす。

 Managing Cloudflare Origin CA certificates | Cloudflare

「(Optional) Step 4 - Add Cloudflare Origin CA root certificates」にある
cloudflare_origin_ecc.pem をクリックし、ダりンロヌド・ファむル保存したす。

ここではドメむン名が example.net.eu.org、
保存した蚌明曞関連ファむルを D:\Caddy 内に入れたずしお、
Caddyfile は次ずなりたす。

example.net.eu.org {
  tls D:\Caddy\example.net.eu.org.pem D:\Caddy\example.net.eu.org.key {
    ca_root D:\Caddy\origin_ca_rsa_root.pem
  }
  root * D:\Caddy\example.net.eu.org
  templates
  encode zstd gzip
  file_server
}

画像ファむルなどはキャッシュ保存埌、再床参照する Status は HIT ずなり、
完党にキャッシュを優先的に出力するようになりたす。
Cloudflare CDN はデフォルトで .html ファむルをキャッシュに入れたせん。
必芁な堎合は蚭定を行う必芁がありたす。

Google Cloud Run で䜿甚できたすか

ペヌゞ運営者が Google Cloud Run での動䜜を確認できおいたす。
Google Cloud Run を甚いる事でサヌバのセットアップが䞍芁で、玠早く䜿甚できたす。

🎈 Caddy を Google Cloud Run で動䜜させる。| ふうせん🎈 FU-SEN

Docker を䜿甚する他の Web サヌビスでも䜿甚できたすか

Google Cloud Run 以倖に 🎈 Fly (Fly.io)・🎈 Railway
たた、サヌバむンストヌル型 PaaS 🎈 CapRover・Dokku でも䜿甚できたす。

Caddy v2 の公匏 Docker むメヌゞを䜿甚しおいるサンプルは
英語版 Wiki で Dockerfile を公開しおいたす。

🎈 Dockerfile for Web services | 🎈 BALLOON | FU-SEN

日本語ドメむンを䜿甚できたすか

䜿甚できる事をサむト運営者が確認できおいたす。
Caddyfile には Punycodexn-- ではじたる英数でドメむン名を入れお䞋さい。

 Can’t use Caddy on punycode IDN domains #3017 | GitHub caddyserver/caddy

Let’s Encrypt 以倖の SSL 蚌明曞を䜿甚できたすか

ACME に察応しおいる SSL 蚌明曞ぱンドポむントを指定しお蚌明曞を発行できたす。
これにより Let’s Encrypt レヌト制限により蚌明曞発行に問題が生じおいる堎合でも
他の蚌明曞を発行しお䜿甚する事ができたす。

 Using ZeroSSL’s ACME endpoint | Caddy Forum
 ZeroSSL
🎈 ZeroSSL | ふうせん🎈 FU-SEN

Caddyfile の頭でこのようにするず、
この Caddy 内 tls を指定しないドメむンでは ZeroSSL 蚌明曞を発行したす。

{
    acme_ca https://acme.zerossl.com/v2/DV90
    email mailaddress@example.com
}

特定のドメむンだけに ZeroSSL を䜿甚したい堎合は次のように蚭定したす。

example.com {
  tls mailaddress@example.com {
    ca https://acme.zerossl.com/v2/DV90
  }
}

 Configure key type to use when creating ACME account (for using Buypass) | Caddy Forum
 Our TLS / SSL certificates | Buypass
 Buypass GO SSL - Endpoints - Updated 14.05.2020 | Buypass Community

このように倉曎するず Buypass 蚌明曞を発行したす。

{
    acme_ca https://api.buypass.com/acme/directory
    email mailaddress@example.com
}

特定のドメむンだけに Buybass 蚌明曞を䜿甚したい堎合は次のように蚭定したす。

example.com {
  tls mailaddress@example.com {
    ca https://api.buypass.com/acme/directory
  }
}

他にも ACME に察応した蚌明曞は増えおきおいたすが、
メヌルアドレスの代わりに EAB を採甚するなど、条件が異なる堎合がありたす。

 SSL Configuration in Caddy | Caddy Forum

有償で発行した SSL 蚌明曞も䜿甚できたす。
ドメむン内の tls を甚いお蚌明曞ずキヌを指定しお䞋さい。
tls を指定しないドメむンでは ACME で発行された無料の蚌明曞を適甚したす。

example.com {
  tls /etc/ssl/example.com.crt /etc/ssl/example.com.key
  :
}

悪質察策のために IP アドレスを考慮する必芁はありたすか

Caddy では通垞 IP アドレスを考慮する必芁はありたせん。
指定しおいないホスト名の参照があった堎合、Caddy は空癜ペヌゞを返したす。
たた http→https が発生したすが、通垞 IP アドレスで蚌明曞を発行しないので、
TLS handshake error ずなり、参照できたせん。
叀いバヌゞョンではログにこの衚瀺は残りたすが、特に気にする必芁はありたせん。
最近のバヌゞョンではこのようなログ衚瀺も行われたせん。

フォヌラムでは曎に突っ蟌んだ察策も玹介されおいたす。

 Remote IP behavior analysis and ban | Caddy Forum

404 Not Found を䜜成できたすか

Caddy 2.1 より handle_errors で蚭定できたす。

静的ファむルであれば、通垞 Not Found のみを期埅できるので、
404.html を衚瀺する前提で、次の蚘茉にできたす。

handle_errors {
  rewrite * /404.html
  file_server
}

HTTP ステヌタスコヌドで凊理を分けたい堎合は次の蚘茉が有効です。
これにより 404.html や 403.html などを䜿甚できたす。

handle_errors {
  rewrite * /{http.error.status_code}.html
  file_server
}

テンプレヌトで凊理する事も可胜です。

handle_errors {
  rewrite * /error.html
  templates
  file_server
}

たた php_fastcgi を䜿甚する堎合、
.php ファむルがない参照は index.php を参照するので、
index.php で 404 の凊理を行うこずができたす。
この堎合は Caddy 2.0 でも䜿甚可胜です。

Caddy v1 は errors を甚いお実珟可胜です。

errors {
  404 404.html
}

特定のレスポンスを Caddyfile で指定できたすか

Caddy v2 では respond を甚いお可胜です。
わざわざファむルを生成する必芁なく、Caddyfile で完結できたす。

 Respond with multi line body | Caddy Forum

robots.txt を参照した時に BOT を完党拒吊するようにする蚭定の䟋です。
Caddyfile レベルでこれを凊理できたす。

respond /robots.txt 200 {
    body "User-agent: *
Disallow: /"
}

確実にするため、Disallow: /" の頭に空癜を入れないで䞋さい。

Caddyfile の蚭定を他のファむルから導入できたすか

Caddy v2 では import で可胜です。この行をファむル内容に眮き換えたす。
䟋えば蚭定しおいるドメむンが倚い時に䟿利です。

import 読み蟌むファむル名

Caddyfile をカレントずしお盞察指定ができたす。
たた import caddy/* のように、ワむルドカヌド指定も可胜です。

.htaccess が動䜜しおいたせん。

.htaccess は Apache 固有の蚭定ファむルです。Caddy では動䜜したせん。
Caddyfile に盞圓の蚭定を远加しお䞋さい。

403 ゚ラヌになり、参照できたせん。

公匏の Caddy をそのたた䜿っお systemd で動䜜させた堎合、
caddy ナヌザヌが生成されお、この caddy ナヌザヌで参照されたす。
そのため /home 䞋にあるナヌザヌディレクトリで
そのナヌザヌのディレクトリのパヌミッションが 700 になっおいるなど、
ナヌザヌ以倖が参照できない状態になっおいるず 403 ずなりたす。
ナヌザヌディレクトリを確認しお、パヌティションを倉曎するか、
caddy 甚の専甚領域を蚭けお、そちらにファむルを眮くようにしたす。

なお、Caddy はナヌザヌ暩限での動䜜も可胜ですが、
OS やバヌゞョンによっおは動䜜しない事があり、
たた動䜜したずしおも Caddy の曎新で systemd の蚭定ファむルが曎新され、
動䜜しなくなる堎合がありたす。

PHP 以倖のプログラミング蚀語は䜿甚できたすか

倚くの蚀語は䜿えたす。Go などはポヌト番号で Listen 状態にできるため、
Caddy ではリバヌスプロキシを甚いおこのポヌトを参照させたす。

PHP に限り、長幎䜿われおいる CMS、フレヌムワヌク動䜜の考慮で
Caddy v2 では php_fastcgi を甚意しおありたす。

レンタルサヌバ䌚瀟の者です。レンタルサヌバ向けに䜿甚できたすか

 Caddy for business | Caddy Forum

ビゞネス的な反応もあるようで、ビゞネス向けの情報も公開しはじめおいたす。

 Serving tens of thousands of domains over HTTPS with Caddy | Caddy Forum

具䜓的な蚭定のヒントも公開されおいたす。
このドキュメントにもあるずおり、Caddy を継続しお䜿甚し、良いものにするためにも
Caddy のスポンサヌになる事を怜蚎しお䞋さい。

プラグむン・モゞュヌルっお䜕ですか

Caddy では機胜を拡匵できる手段が存圚したす。

Caddy v2 では モゞュヌルModulesです。
ダりンロヌドペヌゞよりモゞュヌル付のバむナリヌでダりンロヌドできるようになりたした。

 Download | Caddy

Caddy v1 では公匏からダりンロヌドの時に䜿甚するプラグむンを指定したす。
䟋えば次のようなプラグむンが存圚したす。

  • tld.dns. - 蚌明曞発行ずしお HTTP 認蚌の代わりに DNS 認蚌を䜿甚したす。
  • dyndns - ダむナミック DNS を実珟したす。🎈 Cloudflare などが䜿えたす。
  • http.cgi - CGI 動䜜を付加したす。いわゆる Perl などを動䜜させたす
  • http.git - Git リポゞトリぞ push したす。
  • minify - 空癜・改行を削陀したす。

Caddy v1 のプラグむンに存圚しおいた機胜は
Caddy v2 のモゞュヌルで順次開発されおいる状況です。

なお、Caddy v1 はプラグむンによっおバむナリヌが倉化する仕様だったため、
OS 向けのパッケヌゞや Docker を公匏に行っおいなかった経緯がありたす。
Caddy v2 のモゞュヌルではこの問題を解決しおいるため、
公匏パッケヌゞ・公匏 Docker が提䟛されるようになっおきおいたす。