Conversation
gzip_http_version 1.1 のため、HTTP/1.0 のリクエストには静的ファイル・ アプリの応答ともに圧縮がかからなかった。nginx などのリバースプロキシは 既定で HTTP/1.0 で転送するので、前段にプロキシを置く構成では gzip が まったく効かない。gzip_http_version を 1.0 にする。 あわせて gzip_types から text/html を外す(常に対象なので重複の警告が出ていた)。 weko.conf / weko-ams.conf / weko-ams-restricted.conf の3つに同じ変更を入れる。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gzip_types に application/octet-stream が入っており、ファイルのダウンロード まで圧縮していた。圧縮の効かないバイナリに CPU を使ううえ、Content-Length が 付かなくなりダウンロードの進捗が出ない。3つの設定ファイルから外す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's guide (collapsed on small PRs)Reviewer's Guide3つの nginx 設定で gzip の適用バージョンを HTTP/1.0 に下げ、前段プロキシ経由の HTML・JSON・CSS も圧縮できるようにするとともに、バイナリの不要な圧縮と text/html の重複指定を解消する。 Sequence diagram for gzip through an HTTP/1.0 proxysequenceDiagram
participant Client
participant Proxy
participant Nginx
participant App
Client->>Proxy: HTTP/1.1 request
Proxy->>Nginx: HTTP/1.0 request
Nginx->>App: uwsgi request
App-->>Nginx: HTML JSON or CSS response
Nginx-->>Proxy: gzip response
Proxy-->>Client: gzip response
Flow diagram for gzip content-type handlingflowchart LR
Response["Upstream response"] --> Type{"Content-Type"}
Type -->|HTML JSON or CSS| Compress["gzip response"]
Type -->|application/octet-stream| Plain["Uncompressed response\nwith Content-Length"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
nginx 1.15 以降、ssl ディレクティブは非推奨で、起動のたびに警告が出ていた。 listen 443 ssl に置き換える。3つの設定ファイルに同じ変更を入れる。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
API インベントリ差分(件数のみ)
ベースラインとの差分API インベントリ差分レポート
判定: ✅ PASS (FAIL 0 / WARN 0)サマリ
変化はありません。 台帳との突き合わせスナップショット ↔ インベントリ 突き合わせ
判定: ✅ 一致 (0件)
ソース由来の経路検知ソース由来の経路検知
判定: ✅ 全検知が台帳に対応 (0件)
参考: 静的検知と結びつかなかった台帳行
|
API インベントリ差分(件数のみ)
ベースラインとの差分API インベントリ差分レポート
判定: ✅ PASS (FAIL 0 / WARN 0)サマリ
変化はありません。 台帳との突き合わせスナップショット ↔ インベントリ 突き合わせ
判定: ✅ 一致 (0件)
ソース由来の経路検知ソース由来の経路検知
判定: ✅ 全検知が台帳に対応 (0件)
参考: 静的検知と結びつかなかった台帳行
|
変更内容
nginx/weko.conf・nginx/weko-ams.conf・nginx/weko-ams-restricted.confの gzip 設定と SSL の指定を直す。gzip_http_versionを1.1→1.0にするgzip_typesからapplication/octet-streamを外すgzip_typesからtext/htmlを外す(nginx が常に対象にするため重複の警告が出ていた)ssl on;をやめ、listen 443 ssl;にする(起動のたびに警告が出ていた)目的
gzip_http_version 1.1のため、HTTP/1.0 のリクエストには静的ファイル・アプリの応答ともに圧縮がかからなかった。nginx などのリバースプロキシは既定で HTTP/1.0 で転送するので、前段にプロキシを置く構成では gzip がまったく効かない。application/octet-streamが対象に入っていたため、ファイルのダウンロードまで圧縮していた。圧縮の効かないバイナリに CPU を使ううえ、Content-Lengthが付かずダウンロードの進捗が出ない。動作確認
ビルド済みの nginx イメージにこの設定を載せて単体で起動し、上流は同じ uwsgi のソケット接続でダミーのアプリを立てて確認した。
/api)/ CSS/api)/ CSSapplication/octet-stream)Content-Lengthなし)Content-Lengthあり)nginx -tが通ることを確認text/htmlの重複、sslディレクティブの非推奨)が出なくなることを確認補足
本番の前段にどのようなプロキシがあるかは環境による。前段が無い構成でブラウザから直接アクセスしている場合は、変更前でも gzip は効いている。
🤖 Generated with Claude Code
Summary by Sourcery
Update all Nginx gzip configurations to support HTTP/1.0 proxy requests while excluding binary downloads from compression.
Bug Fixes:
Enhancements: