내 응용 프로그램에서 "/"위치는 정적 index.html 파일을 반환하고 "/ static"은 폴더에서 정적 파일을 제공하기를 원하며 다른 모든 요청은 404 NOT FOUND를 반환하기를 원합니다. 나중에 다른 모든 요청을 WSGI 서버로 리디렉션합니다.
이것은 현재 내 구성입니다.
# Dev server.
server {
listen 1337;
charset UTF-8;
location / {
rewrite ^ static/index_debug.html break;
}
location /static {
alias /home/tomas/projects/streamcore/static;
}
}
정적 폴더는 완벽하게 작동하지만 "/"는 404 NOT FOUND를 반환합니다. 나는 또한 시도했다 :
alias /home/tomas/projects/streamcore/static/index_debug.html;
위치 블록에서 500 내부 서버 오류를 반환합니다. alias
단일 파일을 좋아하지 않는 것 같습니다 . 또한 나는 시도했다 :
try_files static/index_debug.html;
그러나 이는 서버가 "try_files 지시문의 잘못된 인수 수"오류로 시작하지 못하게합니다. 분명히 try_files
실제로 하나 이상의 파일을 시도해야하지만 이는 내가 찾는 동작이 아닙니다.
그래서 내 질문은 : 항상 정적 파일을 반환하도록 위치 블록을 구성하는 방법 은 무엇입니까?
편집 :alias
실제로 하나의 파일을 인수로 받아 들여야하는 다른 답변에서 보았 으므로 시도했습니다.
location = / {
alias /home/tomas/projects/streamcore/static/index_debug.html;
}
그러나 여전히 500 개의 내부 서버 오류 만 발생합니다. "/"요청에 대한 오류 로그는 다음과 같습니다.
[경고] 28112 # 0 : * 7 "/home/tomas/projects/streamcore/static/index_debug.htmlindex.html"은 디렉토리가 아닙니다.
"index_debug.htmlindex.html"를 열려고하는 이유는 무엇입니까? index
지시어를 어디에서나 사용하지 않습니다 .
location =/
404 NOT FOUND 와 함께 제안을 시도 location /
하면 500 내부 서버 오류가 발생합니다.
location / { return 404; }
location = / {Index /home/tomas/projects/streamcore/static/index_debug.html;}
try_files static/index_debug.html static/index_debug.html;