2020年1月3日 星期五

Nginx 錯誤: 413 Request entity too large 的解決方式

Nginx 413 Request Entity Too Large 出現 Error 413 的原因是訪客瀏覽網頁時, 傳送過多的 HTTP 請求, 一般在上傳檔案時出現, 解決方法是修改 Nginx 的 上傳限制, 這個可以透過 Nginx 的 client_max_body_size 設定。 client_max_body_size 是用作設定訪客最多可以傳送多少資料, 如果訪客傳送到 Nginx 的資料超過這個限制, 便會出現 413 Request Entity Too Large 錯誤, 而這個參數的預設值是 1MB。要修改首先開啟 Nginx 的設定檔 nginx.conf:
nano /etc/nginx/nginx.conf
或單獨設定某個 site
nano /etc/nginx/sites-available/expamle.com
在 http, server 或 location 其中一個 block 加入 client_max_body_size 設定
client_max_body_size 100M;
fastcgi_read_timeout 600;
如果出現問題的地方, 是 PHP 上傳檔案的部份, 需要連同 PHP 的上載限制一同修改, 開啟 php.ini 檔案:
nano /etc/php.ini
找到以下參數並修改
upload_max_filesize = 100M;
post_max_size = 100M;
max_execution_time = 600;
max_input_time = 600;
memory_limit = 128M;
重新載入 nginx 以及 php
systemctl restart nginx
systemctl restart php7.3-fpm

沒有留言:

張貼留言