caddy
「caddy」の意味・「caddy」とは
「caddy」は英語の単語で、主に二つの意味を持つ。一つ目は、ゴルフのプレーヤーがプレーする際に、クラブやボールなどの道具を運び、アドバイスを提供する人を指す。二つ目は、紅茶やコーヒーなどの飲料を保存するための小さな容器を指す。どちらの意味も、特定の目的を果たすための補助的な存在を示している。「caddy」の発音・読み方
「caddy」の発音は、IPA表記では/kædi/となる。IPAのカタカナ読みは「カディ」で、日本人が発音するカタカナ英語では「キャディ」が一般的である。この単語は発音によって意味や品詞が変わる単語ではないため、一つのパターンで覚えることができる。「caddy」の定義を英語で解説
「caddy」は英語で次のように定義される。"A person who carries a golfer's clubs and provides other assistance during a match" または "A small storage container, often used for tea or coffee"。これらはそれぞれ、「ゴルファーのクラブを運び、試合中に他の支援を提供する人」、「主に紅茶やコーヒーを保存するための小さな容器」を意味する。「caddy」の類語
「caddy」の類語としては、「golf assistant」や「tea chest」などがある。「golf assistant」は「caddy」のゴルフに関する意味に近く、「tea chest」は飲料を保存する容器という意味に近い。「caddy」に関連する用語・表現
「caddy」に関連する用語や表現としては、「golf club」、「golf ball」、「tea leaves」、「coffee beans」などがある。これらはそれぞれ、「caddy」がゴルフの道具を運ぶ役割や、紅茶やコーヒーを保存する役割に直接関連している。「caddy」の例文
以下に「caddy」を用いた例文を10個示す。 1. He works as a caddy at the local golf course.(彼は地元のゴルフコースでキャディとして働いている。) 2. I bought a new caddy for my tea leaves.(私は新しい紅茶用のキャディを買った。) 3. The caddy gave some advice to the golfer.(キャディはゴルファーにアドバイスをした。) 4. The caddy is made of stainless steel.(そのキャディはステンレス製である。) 5. The golfer thanked his caddy after the match.(ゴルファーは試合後にキャディに感謝した。) 6. The caddy was filled with fresh coffee beans.(そのキャディには新鮮なコーヒー豆が詰まっていた。) 7. The caddy carried the golf clubs for the player.(キャディはプレーヤーのためにゴルフクラブを運んだ。) 8. The caddy has a tight seal to keep the tea fresh.(そのキャディは紅茶を新鮮に保つための密封性がある。) 9. The golfer and his caddy discussed the next shot.(ゴルファーとキャディは次のショットについて話し合った。) 10. The caddy is designed to store loose tea leaves.(そのキャディは紅茶の葉を保存するために設計されている。)キャディ
キャディとは、CD-ROMメディアをドライブに装着する際に保護目的で装着していたケースのことである。CD-ROMが登場した初期にいくつかのキャディ対応ドライブが発売された。
キャディを装着することによって、ドライブがディスクを受け取る際にも、CD-ROMをキズやホコリ、ヨゴレなどから保護することができた。また再生時の安定性の向上を図ることもできた。その反面、キャディ自体が高価だったのと、装着が面倒くさいという難点もあった。
のちにディスクドライブの開発技術が向上し、キャディを用いなくても安定した再生が可能となり、ドライブはディスクをキズつけずに受け取ることができるようになった。現在、CD-ROMにキャディが用いられる機会はほとんど全くない。
Caddy
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/17 04:53 UTC 版)
![]() | |
作者 | Matthew Holt |
---|---|
初版 | 2015年4月28日 |
最新版 |
2.7.6
/ 2023年12月8日[1] |
リポジトリ | |
プログラミング 言語 | Go[2] |
対応OS | Windows, OS X, Linux, 各種 BSD, Android, Plan 9 |
サポート状況 | 活動中 |
種別 | Webサーバ, リバースプロキシサーバー, ロードバランサー |
ライセンス | Apache 2 |
公式サイト |
caddyserver |
Caddy はオープンソース[3]のHTTP/2、HTTP/3に対応したWebサーバである。Caddy Webサーバ と呼ばれることもある。
CaddyはGo言語で記述されており、HTTP機能にはGo標準ライブラリを使用している。
Caddyの特徴的な機能の1つに、デフォルトでのHTTPSの有効化がある[4] [5] [6]。
開発者のマシュー・ホルト (Matthew Holt) はCaddyの開発を 2014年12月に開始した。そして2015年4月にリリースした[7]。それから200人以上の開発者が加わりQUICのサポートを追加するなどして発展して来た。
CaddyはさまざまなWeb技術をサポートしている。
Caddyは、i386 / amd64 / ARM アーキテクチャに対応しており、多くのオペレーティングシステム (Windows / Mac / Linux / 各種BSD / Android / Plan 9) それぞれに向けて静的コンパイルされたバイナリの実行ファイルとして使用できる。
特徴
Caddyでは多数のWebサイト向け技術が利用できる。
Caddyはリバースプロキシおよびロードバランサーとしても機能する。
Caddyの機能のほとんどは、Goのライブラリ実装に由来する。しかしミドルウェアとして提供されている拡張機能もある。それらはCaddyfile(Caddyの構成に使用されるテキストファイル)からディレクティブで指定できる。[8]
機能の一覧
- HTTP/1.1(プレーンテキストベースのHTTP通信)およびHTTP/2(デフォルトでのHTTPS通信)、HTTP/3(デフォルトでのHTTPS通信)への対応
- HTTPSの自動有効化もしくは手動での設定
- 仮想ホスト(同一ポートを使用した複数サイトの構築)[10]
- IPv4およびIPv6のネイティブサポート
- 静的ファイル配信(可能であればsendfileを使用)
- Gracefulな再起動 / リロード
- リバースプロキシ(HTTPまたはWebSocket)
- ヘルスチェックによる負荷分散
- FastCGIプロキシ[11] [12]
- テンプレート(サーバーサイドインクルード に近い)
- Markdownレンダリング
- WebSocketを介したCGI
- Gzip圧縮
- Basic認証
- URLリライト
- リダイレクト
- ファイル閲覧
- ログの取得:アクセス / エラー / プロセス レベル
- QUICのサポート(実験的)
セキュリティ
Caddyは広く知られた数多の CVE(脆弱性情報データベース)に関して安全である。ここには Heartbleed / DROWN / POODLE / BEASTなども含まれる。[13] さらにCaddyではTLS_FALLBACK_SCSVを使用することでプロトコルのダウングレード攻撃を防ぐこともできる。
2015年6月2日に、バージョン0.7.1がリリースされた。これはCaddyのBasic認証ミドルウェアに対するタイミング攻撃の脆弱性に対してパッチを当てるためだった[14]。
プロトコルおよび暗号スイートに関して、CaddyはTLS 1.0 - 1.2 使用し、且つ、AES-256 - GCM - SHA-384 よるECDHE - ECDSA(楕円曲線ディフィー・ヘルマン鍵共有 - 楕円曲線 DSA)を標準としている。ただし他の多くの暗号もサポートしている。CaddyはCloudflare も使用されており、実験的なTLS 1.3通信の提供が行われている[15]。
C言語で記述された従来のプログラムに見られたような、まず完全な特権を与えてそれを必要に応じて段階的に絞って行くしくみは、Go 言語のプログラムでは特殊な方法でしか実現できないかもしくはまったく不可能である[16]。
HTTPS通信の自動化
Caddyは、適正なドメイン名(ACME プロトコル を介して TLS証明書を要求できるドメイン名)を持つサイトでは、デフォルトでHTTPS通信を有効化する。HTTPリクエストはHTTPSにリダイレクトされる[17]。
Caddyはサーバ起動時に、必要に応じて証明書を取得し、サーバ稼働中は証明書を更新し続ける。
デフォルトの認証局 Let's Encryptである。2016 年第 1 四半期に、CaddyはLet's Encryptが発行した証明書の約 2 % を占めていた[18]。また、ユーザーは、対象とする ACME 認証局 をカスタマイズすることもできる。この機能はサーバ構成をテストする時に有用である。
他の設定を採ることも可能である。「オンデマンドTLS」と呼ばれる機能である。この機能を用いると、Caddyは起動時ではなく TLSハンドシェイク時に、必要な場合にのみ証明書を取得する[19]。この機能を有効にするには、ユーザーは、発行可能な証明書の最大数を指定する必要がある。オンデマンドTLS機能が有効な場合、Caddyは、まだ証明書が無いホスト名に対するリクエストを受け取ると、取得した証明書をメモリにキャッシュしてディスクに保存しながら、ACMEを介して新しい証明書を要求し、それをすぐに提供する。 通常、このプロセスには数秒掛かる。そのため転送ビットレートの制約は厳しくなる。
TLS通信において、Caddyはセッションチケットキーを定期的に自動的にローテーションする。このことで転送する情報の完全な機密性を保持している[20]。
テレメトリー
バージョン0.11から、Caddyにテレメトリー機能が搭載された [21]。これは公式WebサイトからCaddyをダウンロードする場合はオプトイン(デフォルトで無効)となっている。一方、ソースからビルドする場合はオプトアウト(デフォルトで有効)である[22] 。
影響
CoreDNS
Miek Giebenは Caddy WebサーバのフォークからCoreDNSを作成した。Caddyの単純な構成構文、プラグインアーキテクチャ、およびGo言語で記述されたコードが活用されている[23]。
脚注
- ^ “Releases”. Github. 2021年11月11日閲覧。
- ^ Gerrand, Andrew (2016年2月17日). “Go 1.6 is released”. golang.org. 2016年3月5日閲覧。
- ^ “Light Code Labs”. lightcodelabs.com. Light Code Labs. 2019年9月15日閲覧。 “Caddy is an open source, easy-to-use HTTP/2 web server...”
- ^ Johnson (2016年2月23日). “A Better Web Server with Free SSL”. VolumeLabs.net. 2016年3月5日閲覧。
- ^ “Automatic HTTPS with Caddy Server” (2015年12月18日). 2016年3月5日閲覧。
- ^ Aas, Josh (12 February 2016). NYLUG Presents: Josh Aas on Let's Encrypt: A Free, Automated, and Open CA. Bloomberg.
- ^ “Show HN: Caddy, a cross-platform HTTP/2 web server”. news.ycombinator.com (2015年4月28日). 2015年4月28日閲覧。
- ^ “The Caddyfile”. 2016年2月29日閲覧。
- ^ “tls - Caddy Directives”. 2016年3月8日閲覧。
- ^ Benedetti, Benoit (2015年11月). “Caddy, Le Serveur Web Facile [Caddy, The Easy Web Server]” (French). GNU/Linux Magazine France (France)
- ^ “How to Setup [sic] the Caddy Web Server with php-fpm”. 2017年8月18日時点のオリジナルよりアーカイブ。2016年3月9日閲覧。
- ^ Beke (2015年8月21日). “Caddy Server and WordPress (PHP-FPM)”. 2015年8月21日閲覧。
- ^ “SSL Server Test: caddyserver.com (Powered by Qualys SSL Labs)”. SSLLabs.com. 2016年3月5日閲覧。
- ^ “Release 0.7.1 · mholt/caddy” (2015年6月2日). 2015年6月2日閲覧。
- ^ Nick Sullivan [@grittygrease] (2016年3月5日). "It's built in Go using custom versions @rlbarnes's Mint and @mholt6's Caddy". X(旧Twitter)より2016年3月4日閲覧。
- ^ “syscall: Setuid/Setgid doesn't apply to all threads on Linux” (2011年1月21日). 2016年3月5日閲覧。
- ^ “Automatic HTTPS”. 2016年3月5日閲覧。
- ^ Eckersley, Peter (21 February 2016). USENIX Enigma 2016 - Several Horror Stories about the Encrypted Web. YouTube. USENIX.
- ^ “On-Demand TLS”. 2016年3月5日閲覧。
- ^ Kubacki (2016年4月12日). “server: Rotate TLS ticket 'keys'”. 2019年6月13日時点のオリジナルよりアーカイブ。2019年6月13日閲覧。
- ^ “Caddy 0.11 Will Have Telemetry” (英語). Caddy. (2018年3月30日) 2018年6月5日閲覧。
- ^ “Caddy Telemetry - Documentation”. caddyserver.com. 2019年2月20日閲覧。
- ^ Belamaric, John; Liu, Cricket (2019). “1: Introduction”. Learning CoreDNS: Configuring DNS for Cloud Native Environments (1 ed.). ISBN 9781492047964. OCLC 1091363083. What is CoreDNS?
外部リンク
- Caddyのページへのリンク