자바 및 nginx 파일 권한 제어 코드 인 스 턴 스 구현

우 리 는 nginx 를 파일 다운로드 서버 로 사용 하면 백 엔 드 자바 서버 에 대한 부하 충격 을 크게 낮 출 수 있다 는 것 을 알 고 있 습 니 다.그러나 nginx 자체 가 권한 수여 통 제 를 제공 하지 않 기 때문에 좋 은 방안 은 백 엔 드 서버 에서 권한 통 제 를 실현 하 는 것 입 니 다.가장 좋 은 방법 은 사용 해 야 할 인증 체 계 를 직접 재 활용 하여 원 가 를 최대한 낮 추 는 것 입 니 다.따라서 http 의'X-Accel-Redirect'헤드 를 빌려 이 특성 을 실현 할 수 있다.구체 적 으로 다음 과 같다.

location /bookres/ {
  #         
  internal;
  limit_rate 200k;
  alias d:/test/bookres/;
  #      (tomcat web  )
  error_page 404 =200 @backend;
}
location @backend {
  rewrite ^/bookres/(.*)/(.*)/(.*)/(.*)$ /bookres/?isbn=$1&restype=$2&resid=$3&type=$4 break;
  proxy_pass http://localhost:8081; #tomcat web  
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  break;
}
자바 배경 코드 는 다음 과 같 습 니 다:

httpResponse.setHeader("Content-Disposition",
  "attachment; filename=\""+filename+"\"");
httpResponse.setHeader("Content-Type",
  "application/octet-stream");
httpResponse.setHeader("X-Accel-Redirect",
  "/bookres/"+resource.get("res_url"));
// nginx           
ftp/fastdfs/mongodb 와 같은 다른 파일 서버 방안 을 사용 하 는 것 에 비해 이 방안 은 매우 가볍다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기