nginx에서 특정 디렉토리에 대한 모든 요청을 가져 와서 리디렉션없이 json 문자열을 반환하는 방법을 알아 내려고합니다.
예:
curl -i http://example.com/api/call1/
예상 결과:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/json
Date: Fri, 13 Apr 2012 23:48:21 GMT
Last-Modified: Fri, 13 Apr 2012 22:58:56 GMT
Server: nginx
X-UA-Compatible: IE=Edge,chrome=1
Content-Length: 38
Connection: keep-alive
{"logout": true}
nginx conf에서 지금까지 가지고있는 내용은 다음과 같습니다.
location ~ ^/api/(.*)$ {
index /api_logout.json;
alias /path/to/file/api_logout.json;
types { }
default_type "application/json; charset=utf-8";
break;
}
그러나 요청을하려고 할 때 Content-Type이 고착되지 않습니다.
$ curl -i http://example.com/api/call1/
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/octet-stream
Date: Fri, 13 Apr 2012 23:48:21 GMT
Last-Modified: Fri, 13 Apr 2012 22:58:56 GMT
Server: nginx
X-UA-Compatible: IE=Edge,chrome=1
Content-Length: 38
Connection: keep-alive
{"logout": true}
더 좋은 방법이 있습니까? 응용 프로그램 / JSON 유형을 고수하려면 어떻게해야합니까?
편집 : 솔루션!
return 문에 수동 문자열을 보낼 수 있다는 것을 알았으므로 별칭을 사용하는 대신 그렇게했습니다!
내가 사용한 최종 코드 :
location /api {
types { }
default_type "application/json";
return 200 "{\"logout\" : true"}";
}