Extra Form
PHP PHP 8.2
CMS Rhymix 2.0

유저가 업로드 한 파일을 특정 권한이 있는 사람만 받을 수 있게 하고 싶은데요

 

해당 파일이 적게는 수백메가에서 많게는 10GB 정도까지 합니다.

 

 

그런데 권한이 있는 사람만 받게 한다면 direct link를 줄수는 없고, procFileDownload 메소드를 활용해서 받아야 할텐데, 많은 사람이 파일을 다운로드 하면 php max_clients에 걸려서 서버가 터지진 않을까 걱정입니다..

 

이 경우 라이믹스에서 파일 다운로드 메소드를 활용하여 파일을 받도록 해도 괜찮을까요?

 

아니면 s3 같은 별도의 솔루션을 도입하는게 맞을까요?

  • profile

    대용량 파일 다운로드에 맞게 타임아웃과 커넥션 숫자를 조절한다면 괜찮습니다.

     

    X-Sendfile 또는 X-Accel-Redirect 기능을 사용해서 아파치나 nginx에게 파일명만 던져준 후 PHP는 종료하고, 실제로 파일을 전송하는 작업은 아파치나 nginx가 담당하도록 할 수도 있습니다.

  • profile profile
    오 X-Accel-Redirect 라는 기능이 있군요

    문서를 읽어보니까 X-Accel-Redirect라는 헤더를 설정하고 PHP를 종료하면 nginx에서 해당 파일을 알아서 전송해주는 느낌것 같네요.
    클라이언트에게 위 헤더 값은 출력되지 않고요.

    nginx에서 internal은 어디서 써먹나 했는데 여기서 쓰는거였네요 ㅎㅎ
    감사합니다!!