Nginx - невозможно загрузить файл размером более 10 КБ - PullRequest
0 голосов
/ 22 марта 2019

Я создал форму загрузки файла, используя код AJAX, который отлично работает на моем локальном хосте.

Однако, когда я загружаю этот код на свой сервер nginx. Я получаю net :: ERR_CONNECTION_RESET при попытке загрузить любой файл размером больше 10 КБ (да, это K). Я использую HTTPS.

Ниже мой код ajax:

$("#save-button").click(function(){
    console.log("max_execution_time = <?php echo(ini_get('max_execution_time')); ?>");
    console.log("max_input_time = <?php echo ini_get('max_input_time'); ?>");
    console.log("memory_limit = <?php echo ini_get('memory_limit'); ?>");
    console.log("post_max_size = <?php echo ini_get('post_max_size'); ?>");
    console.log("file_uploads = <?php echo ini_get('file_uploads'); ?>");
    console.log("upload_max_filesize = <?php echo ini_get('upload_max_filesize'); ?>");
    console.log("max_file_uploads = <?php echo ini_get('max_file_uploads'); ?>");
    console.log("default_socket_timeout = <?php echo ini_get('default_socket_timeout'); ?>");

    var formData = new FormData();

    var formRawData = $('#info-form-container').serializeArray();

    formRawData.forEach(function(element) {
        if(element.value!=""){
            formData.append(element.name, element.value);
        }
    });

    formData.append('data[ID]',id);
    formData.append('data[FLAG]', myData.CURRENT_FLAG)
    if (myData.CURRENT_FLAG == 1 || myData.CURRENT_FLAG == 6) {
        console.log($("#file")[0].files[0])
        formData.append('FILE', $("#file").prop('files')[0])
    }

    var xhr = new XMLHttpRequest();

    xhr.open('POST', '/mrk/Csr_mkt/save/', true);

    var onerror = function(event) {
        toastr.error("Error");
    }

    xhr.onload = function () {
        if (xhr.status === 200) {
            response = JSON.parse(xhr.responseText);

            if(response.errorId == 0) {
                notifsuccess(response.message);
            } else {
                swal('', response.message, 'error')
            }
        }
    };

    xhr.send(formData);

    return false;
});

Результат Ниже приведен результат из моей консоли браузера:

enter image description here

NGinx Conf Ниже мой конф nginx:

#NGINX CodeIgniter CONFIG
#=========================================================
#
# The default server
#
server {
    listen 80 default_server;
#   listen [::]:80 default_server;
#   listen 443 https;
    client_max_body_size 100M;
#    ssl on;
#    ssl_certificate /etc/ssl/certs/ca-bundle.crt;
#    ssl_certificate_key /etc/ssl/privatekey3.key;


    server_name mydomain.id www.mydomain.id;
#   server_name mydomain.id www.mydomain.id localhost;
#   return 301 https://ganeshaoperation.id$request_uri;
#   rewrite ^/(.+) https://mydomain.id/$1 permanent;
        root  /var/www/html/go-erp;
#       dev02 /var/www/html/go-erp;
        index  index.php index.htm index.html;
    #charset koi8-r;

    access_log  /var/log/nginx/appsvr1_acces.log  main;
    error_log  /var/log/nginx/appsvr1_error.log;

    location / {
        #try_files $uri $uri/ /index.php;
        try_files $uri $uri/ /index.php?$uri; # CI

        }

   location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
        expires max;
        log_not_found off;
    }

 # redirect server error pages to the static page /50x.html
 #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    error_page  404              /404.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }

    location  /pmd {
        auth_basic "Admin Login";
        auth_basic_user_file /etc/nginx/pma_pass;
        index index.php;
    }

  location ~ \.php$ {
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    include /etc/nginx/fastcgi_params;
    fastcgi_read_timeout 150;
    fastcgi_pass 127.0.0.1:9000;
    #fastcgi_pass 127.0.0.1:80;
    #fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    #fastcgi_param HTTP_PROXY "";
  }

  location /uploads/ {
    internal;
    alias /var/www/html/go.erp_ori/uploads/;
    try_files $uri /$uri none.png / none.png;
        client_max_body_size 100M;
  }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}

Пожалуйста, помогите мне, большое спасибо

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Пожалуйста, попробуйте поместить строку ниже в файле conf nginx в server, http or location context:

client_max_body_size 1024m;

и не забудьте перезагрузить или перезапустить nginx.

0 голосов
/ 22 марта 2019

Убедитесь в допустимом максимальном размере загрузки на стороне сервера. Если это так, увеличьте значение.

https://www.tecmint.com/limit-file-upload-size-in-nginx/

...