Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

caddy ignores `no-cache` and serves cached response

オープン
#135 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
go
領域
backend

調査の方向性

まず、提供された Caddyfile を実行し、2 つの curl レスポンスを比較します。Cache-Control、Age、Cache-Status ヘッダーに注目してください。no-cache を伴う ETag レスポンスのキャッシュ処理を追跡します。完了の条件は、レスポンスがデフォルトの TTL で配信されるのではなく、検証されることです。

索引モデルが issue の本文から書いたものです。

説明

If a response contains ETag and Cache-Control with no-cache, caddy ignores no-cache and serves cached response with default ttl without validation.

Reproduction steps:

 {
     log
     cache
 }

 http://localhost:80 {
     log
     cache
     reverse_proxy http://localhost:81
 }

 http://localhost:81 {
     log
     header ETag "\"3e25960a79dbc69b674cd4ec67a72c62\""
     header Cache-Control "no-cache"
     respond "Hello world"
 }
$ curl -i localhost:80
HTTP/1.1 200 OK
Cache-Control: no-cache
Cache-Status: Souin; fwd=uri-miss; stored; key=GET-http-localhost-/
....

$ curl -i localhost:80
HTTP/1.1 200 OK
Age: 11
Cache-Control: no-cache
Cache-Status: Souin; hit; ttl=109; key=GET-http-localhost-/; detail=DEFAULT
...
caddy version
v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
主要言語
Go
スター
396
フォーク
29
平均マージ
32分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

caddyserver/cache-handler のほかの issue

caddyserver/cache-handler の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。