fix: gateway の nginx クラッシュループを修正(location 正規表現をクォート)(v2.1.263-c)
nginx: [emerg] pcre2_compile() failed: missing closing parenthesis in
"^/s/(?<sid>[a-f0-9]" で gateway が CrashLoopBackOff になっていた。
location ~ の正規表現に含まれる {10} の { } を nginx 設定パーサーがブロック
区切りと解釈していた。nginx は { } ; を含む正規表現のクォートを必須とするため、
files/gateway.conf.template の該当 location をダブルクォートで囲んだ。
envsubst の置換は ${...} 6 変数のみで {10} に影響しないことを確認済み。
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# CHANGELOG 2.1.263-c — 手動リリース(ホットフィックス)
|
||||
|
||||
## 修正
|
||||
|
||||
- **gateway の nginx が起動時にクラッシュループする不具合**
|
||||
|
||||
```
|
||||
nginx: [emerg] pcre2_compile() failed: missing closing parenthesis
|
||||
in "^/s/(?<sid>[a-f0-9]" in /tmp/nginx/nginx.conf
|
||||
```
|
||||
|
||||
`files/gateway.conf.template` の
|
||||
|
||||
```nginx
|
||||
location ~ ^/s/(?<sid>[a-f0-9]{10})(?<rest>/.*)?$ {
|
||||
```
|
||||
|
||||
で、正規表現中の `{10}` に含まれる `{` `}` を nginx の設定パーサーがブロック区切りと
|
||||
解釈し、`location` の正規表現が `^/s/(?<sid>[a-f0-9]` で途切れていた。
|
||||
nginx は `{` `}` `;` を含む正規表現を **クォート必須** とする。
|
||||
|
||||
修正: 正規表現全体をダブルクォートで囲む。
|
||||
|
||||
```nginx
|
||||
location ~ "^/s/(?<sid>[a-f0-9]{10})(?<rest>/.*)?$" {
|
||||
```
|
||||
|
||||
`envsubst` の置換対象は `${GATEWAY_PORT}` など 6 変数のみで `{10}` には影響しないことを
|
||||
確認済み(レンダリング後のブレース対応もローカル検証)。
|
||||
|
||||
## バージョン
|
||||
|
||||
`version` = `2.1.263-c` / `appVersion` = `"2.1.263"`。
|
||||
Reference in New Issue
Block a user