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/ConfigNotation 또는 http://wiki.nginx.org/HttpCoreModule#location 은 접는 선에 대해 언급합니다)


보간 된 여러 조각으로 문자열을 만들 수 있습니까? (모르겠어)
bsb

@bsb 위치 식에 변수를 사용할 수 없으므로 아니요, 변수를 설정하고 문자열 보간을 사용할 수 없습니다.
Lekensteyn

답변:


7

나는 당신이 이것을 할 수 있다고 생각하지 않습니다.

nginx는 모든 공백을 똑같이 취급하므로 문자열을 그와 같이 분할하려고 시도해도 원하는 방식으로 구문 분석 할 수 있지만 공백이 많은 정규 표현식으로 마무리 할 것입니다. ' 당신이 원하는 것. nginx가 구문 분석을 할 수 없다면 구문 오류가 발생합니다.

당신은 단지 몇 줄의 긴 줄로 살거나 덜 복잡한 정규 표현을 만들어야 할 것입니다.


글쎄, 선행 공간이 없다면 나는 그걸로 살 수 있습니다. 그러나 개행은 문자 그대로 해석되는 것으로 보입니다.
Lekensteyn의

정말 세상의 끝이 아닙니다. :)
Michael Hampton

1
지금은 location ".../[a-zA-Z0-9_...-]+$"패턴과 다른 location ~ "\.pkg\.tar\.xz$"내부가 붙어 있습니다. 답변 주셔서 감사합니다, 언젠가 더 나은 답변이 나타납니다;)
Lekensteyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.