nginx構成ファイルの長い行を分割する


15

ガベージをバックエンドに渡さないために、locationディレクティブに厳密な正規表現があります。次のようになります。

location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
    # other directives
}

80文字で行を折りたいのですが、構成を分割する方法はありますか?以下は構文エラーになりますが、私が探しているものです:

location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/"\
            "...(more|restrict).ext" {
# results in a literal newline (%0A) being accepted
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/
...(more|restrict).ext" {

ドキュメントにヒントを見つけることができませんでした(http://wiki.nginx.org/ConfigNotationhttp://wiki.nginx.org/HttpCoreModule#locationには折り畳み線に関する記述があります


補間された複数のフラグメントから文字列を構築できますか?(私には
わから

@bsbロケーション式で変数を使用することはできません。そのため、変数を設定して文字列補間を使用することはできません。
-Lekensteyn

回答:


7

これができるとは思わない。

nginxはすべての空白を同等に処理するので、文字列をそのように分割しようとしても、nginxが意図したとおりに解析できたとしても、空白がたくさんある正規表現で終わることになります。あなたが欲しいもの。nginxが解析できなかった場合(これが発生する可能性が高い)、構文エラーが発生します。

数行の長さで生活するか、それほど複雑でない正規表現を作成する必要があります。


まあ、先行スペースがなければ、私はそれで生きることができます。しかし、改行も文字通り解釈されるようです。
レーケンシュタイン14

それは本当に世界の終わりではありません。:)
マイケルハンプトン

1
今のところ、location ".../[a-zA-Z0-9_...-]+$"パターンに続いて別のlocation ~ "\.pkg\.tar\.xz$"内部があります。あなたの答えをありがとう、いつかもっと良い答えが現れることを願っています;)
Lekensteyn 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.