0

나는 같은 인터페이스를 노출하는 RESTful 웹 서비스가 :RESTful API 용 nginx를 구성하는 방법은 무엇입니까?

  • GET /api/v1/films/:id/thumb
  • PUT /api/v1/films/:id/thumb
  • 웹 서버는 nginx를 리버스 프록시 뒤에 nodejs 클러스터로 구성되어 ...

.

이제 nginx 프록시 및 클라이언트 버퍼를 구성하려고합니다. 이를 위해 나는 지시

location ~ /api/v1/films/(.*)/thumb { 
     proxy_buffers 6 500k; 
     proxy_busy_buffers_size 1m; 
     client_max_body_size 3m; 
     client_body_buffer_size 3m; 
     proxy_pass http://backend; 
    } 

이 구성 작업을 수행하지만이 필요하다 PUT 요청 및 자원의 낭비와 GET에 대한 client_max_body_size 3m에 대한 proxy_buffers 3m을 구성하기 때문에 불만족을 설정합니다.

그래서 URI 외에 http 방법을 기반으로 내 경로를 구성 할 방법을 찾고 있습니다.

약간의 경험을 공유하고자하는 모든 분들께 감사드립니다.

+0

http 메소드를 확인하려면'map' 명령을 사용할 수 있습니다. 체크 아웃 (페이지) [http://nginx.org/en/docs/http/ngx_http_map_module.html] – abeyaz

답변

1

http 메서드를 원하는 최대 몸체 크기에 매핑 할 수 있습니다. 예를 들면 다음과 같습니다 :

map $request_method $max_size { 
    default  3m; 
    PUT   1m; 
    GET   1m; 
} 

location ~ /api/v1/films/(.*)/thumb { 
    proxy_buffers 6 500k; 
    proxy_busy_buffers_size 1m; 
    client_max_body_size $max_size; 
    client_body_buffer_size $max_size; 
    proxy_pass http://backend; 
} 
+0

고마워, 방금 제안을 시도했지만 nginx는 이름 "client_max_body_size"지시어 유효하지 않은 값을 호출합니다. 나는 왜, 어떤 생각을 이해하지 못하니? –

+0

'1m', '3m'과 같은 값을 인용 할 수 있습니까? – abeyaz

+0

여전히 같은 오류가 발생합니다. 가변 콘텐츠를 어떻게 제어 할 수 있는지 알고 있습니까? –

관련 문제