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} に影響しないことを確認済み。
34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# 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"`。
|