Gately v0.5.5 リリース
2026年10月21日
今回のリリースのテーマは「nginx から移行しやすく、移行後は手間を減らす」ことです。既存の nginx サイトをそのままインポートでき、更新された証明書は他のホストやコンテナへ自動で届けられます。クラウドドライブや WebDAV のサイトも WAF の配下に置けるようになり、IP アクセス制御では定期更新される省・市単位の IP リストを参照できます。ネットワークの自己診断では、証明書のないサイトや frp の競合を事前に見つけられます。
v0.5.5 をダウンロード · GitHub Release
nginx 設定のインポート
「Web サービス」ページに「nginx をインポート」を追加しました。nginx が動いているホストで nginx -T を実行し、出力全体を貼り付けるだけです。include されたファイルは nginx と同じように展開されます。
- インポート前にプレビューできます。待ち受けポートごとに各サイトの種類、バックエンドまたはディレクトリ、元のファイルと行番号、さらに変数や正規表現の location の使用、証明書の不足など注意が必要な点を一覧表示します。
- リバースプロキシ(upstream の重み、バックアップ、負荷分散ポリシーを含む)、静的ディレクトリ、リダイレクト、固定レスポンス、レスポンスヘッダーとリクエストヘッダー、圧縮、
allow/deny、location 単位のパス別バックエンド、アクセス制御、リダイレクトを変換できます。 auth_requestは転送認証に変換され、Authelia の一般的な書き方(set変数、error_page 401によるログインへのリダイレクト)もそのまま変換できます。一部の location でのみ有効な場合は「指定したパスのみ認証」に変換されます。auth_basicは共有ユーザーを使う Basic 認証に変換されるため、インポート後に保護のないサイトが生じることはありません。- 同じポートのサイトは既存のリスナーにまとめられ、既にあるドメインはスキップされるため、何度でもインポートできます。既定では無効の状態でインポートされるので、nginx と並行して動かしながら 1 つずつ確認できます。
この機能は実際の本番環境の設定(77 サイト、Authelia、upstream)で検証済みで、変換結果は手作業での移行と一致しました。詳しくは Web サービス · nginx 設定のインポート を参照してください。
証明書の自動デプロイ
証明書の編集画面に「自動デプロイ」を追加しました。発行・更新・差し替えの後に自動で実行されます。
- SSH ホストへアップロード:Web ターミナルにある既存の SSH 接続を選ぶと、証明書をリモートディレクトリに書き込んだ後にコマンド(例:
systemctl reload nginx)を実行します。コマンドでは$certName、$certDir、$certFile、$keyFileを使えます。ファイルは一時ファイルに書き込んでから置き換え、秘密鍵の権限は 0600 になります。 - ローカルコンテナを再起動:証明書が変わると、選択した Docker コンテナを順に再起動します。
自動デプロイは未知のホストを信頼しないため、SSH 接続は先に Web ターミナルで一度接続しておく必要があります。失敗すると 1 時間ごとに再試行し、新しい「証明書:デプロイ失敗」通知を送ります。証明書カードの「今すぐデプロイ」ですぐに実行でき、デプロイ先ごとの結果が表示されます。詳しくは SSL 証明書 を参照してください。
WAF:大容量アップロードと WebDAV
- リクエストボディの検査上限を調整できます(既定 12.5 MB、最大 1024 MB)。上限を超えた場合は拒否するか、先頭部分のみを検査して残りをそのまま転送するかを選べます。
- ボディ検査を省くパス:アップロード用のエンドポイントではリクエストボディを検査せず、ヘッダー、URL、パラメーターは通常どおり検査します。
- WebDAV・アップロード互換:PUT、PROPFIND、MKCOL、MOVE、COPY、LOCK などのメソッドと
Lock-Token、If、Content-Rangeリクエストヘッダーを許可し、アップロードのコンテンツタイプも制限しなくなります。クラウドドライブ、WebDAV、ファイル管理のサイトを WAF の配下に置いても正常に使え、インジェクションやパストラバーサルなどの攻撃は引き続きブロックされます。 - すべてのインスタンスで、curl や rclone が大きなファイルをアップロードするときに付ける
Expect: 100-continueを許可しました。以前は OWASP CRS 4 がこうしたアップロードをブロックしていました。
詳しくは WAF ファイアウォール を参照してください。
購読 IP リスト
「Web サービス → 全体設定」で URL を指定して IP リストを購読し、定期的に更新できます。たとえば metowolf/iplist の省・市単位の IP 範囲が使えます。サイトとパスルールの許可リスト・拒否リストは複数のリストを参照でき、手入力した IP 範囲と合わせて判定します。ダウンロードした内容はローカルにキャッシュされるため再起動後もネットワーク接続は不要で、内容を解析できない場合は前回のリストを保持します。詳しくは Web サービス · 購読 IP リスト を参照してください。
ネットワーク自己診断に 2 項目を追加
- HTTPS サイトの証明書:一致する証明書のないドメインを一覧表示します。これらのドメインへのリクエストは TLS ハンドシェイクで失敗します。
- frp の競合:frpc 内で名前が重複しているプロキシと、frps が報告したプロキシ名、ドメイン、リモートポートの競合を一覧表示します。複数の機器で同じ frpc 設定をコピーしていると、後から接続した機器の登録が失敗し、そのサイトがタイムアウトします。
その他の改善
- オンラインアップグレードが
v0.5.4.1のような 4 桁のバージョン番号に対応しました。バージョンを比較できない場合(開発版など)はその旨をはっきり表示し、「最新バージョンです」とは表示しなくなりました。 - 証明書のデプロイや nginx インポートのプレビューなどの API が返す説明文は、画面の言語で表示されます。
アップグレード
- v0.5.4 以降の Linux バイナリ導入では、「バージョン情報」ページから v0.5.5 へ直接アップグレードできます。Docker は新しいイメージを取得してコンテナを再作成し、fnOS はアプリセンターで新しい
.fpkを、OpenWrt は新しい.ipk/.apkをインストールしてください。 - すでに WAF の配下に置いているクラウドドライブや WebDAV のサイトは、アップグレード後に該当する WAF インスタンスで「WebDAV・アップロード互換」を有効にすれば、正常にアップロードできます。
質問や提案は GitHub Issues または Telegram グループ へお寄せください。