因為最近網路攻擊蠻多的,索性用 reverse proxy 把 NAS 藏在 Nginx 後面,順便讓 Nginx 處理掉 SSL 那段工作:
location / {
proxy_pass http://192.168.0.xxx:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_buffers 32 32k;
proxy_buffer_size 32k;
error_page 404 404.html;
error_page 500 502 503 504 500.html;
}
不過後來友人說上傳檔案一直失敗,在某個大小以上的檔案通通出錯。
觀察一下網路流量才發現 Nginx 並不是直接把流量即時 proxy 到 NAS 端,而是整個 HTTP request 完成以後才一次送到 NAS 那邊去,所以上傳檔案時自然會遇到 upload size 問題。
解決方法就是把 Nginx 的 client_max_body_size 調大:
server {
....
client_max_body_size 1g;
....
}
Ref: