Сирек жағдайларда, бірақ үлкен файлдарды веб-сайтқа жүктеп салу кезінде Nginx веб-сервері қайтаратын қате пайда болады - 413 сұрау нысаны тым үлкен. Қате серверде рұқсат етілгеннен тым үлкен файлды серверге жүктеп салуға әрекет жасағанда пайда болады. Әрі қарай, біз 413 сұрау нысаны тым үлкен қатенің сипаттамасын және оны Nginx веб-серверінің жағында түзету әдістерін қарастырамыз.
413 қатесі немесе Сұраныс нысаны тым үлкен «сұрау нысаны тым үлкен» дегенді білдіреді немесе қарапайым сөзбен айтқанда, тасымалданатын деректер көлемі тым үлкен. Сұрау мәтіні (немесе файл) тым үлкен болғандықтан, сервер сұрауды өңдей алмаса, қате қайтарылады. Қатенің скриншоты төменде көрсетілген:
Әдепкі бойынша, Nginx 1 МБ болатын сұрау мәтінінің өлшеміне шектеу қояды. Сұрау теңшелген мәннен асып кетсе, 413 сұрау нысанының тым үлкен қатесін көресіз.
413 "Сұраныс нысаны тым үлкен" қатесі веб-сервер сұрауды қабылдамаған кезде орын алады, себебі сұрау денесінің өлшемі серверде орнатылған максималды рұқсат етілген өлшемнен асып түседі. Бұл сұрауда жіберілген деректердің (мысалы, файлды серверге жүктеп салу кезінде) өңдеу үшін тым үлкен екенін білдіреді.
Мәселені шешіңіз:
Сұрауды жіберіп жатқан серверді басқармасаңыз, 413 "Сұраныс нысаны тым үлкен" қатесін шешуге көмек алу үшін сервер әкімшісіне немесе техникалық қолдау қызметіне хабарласыңыз.
413 қатені түзету үшін рұқсат етілген шекті арттыру керек. client_max_body_size.
Опция /etc/nginx/nginx.conf
конфигурация файлындағы немесе веб-сайт конфигурация файлындағы http, сервер немесе орын директивасында пайдалану үшін қол жетімді.
Кез келген мәтін өңдегішін пайдаланып nginx.conf
конфигурация файлын ашыңыз:
$ sudo nano /etc/nginx/nginx.conf
http бөліміне жолды енгізіңіз:
$ client_max_body_size 100M
100 - веб-сайтқа жүктеп салуға болатын мегабайттағы ең үлкен файл өлшемі, бұл жағдайда 100 мегабайт. Егер сізде бірнеше веб-сайттар болса және барлық сайттарда бірден жүктеуді шектеу қажет болса, http блоктау бөлімінде client_max_body_size
жолын енгізу керек.
Жүктеп алу шегін тек белгілі бір сайт үшін орнату қажет болса, client_max_body_size
жолы әдепкі бойынша /etc/nginx/sites-available/file_name_with_configuration
ішінде орналасқан тораптың конфигурация файлының сервер блогына қосылуы керек:
Жүктеп алу шегін сайттың белгілі бір бөлімі үшін ғана орнату қажет болғанда, client_max_body_size
жолы әдепкі бойынша /etc/nginx/sites-available/file_name_with_configuration
ішінде орналасқан сайт конфигурация файлының location
директивасына енгізілуі керек:
Конфигурация файлдарына өзгертулер енгізілгеннен кейін оларды сақтаңыз, мәтіндік редакторды жабыңыз және пәрменді пайдаланып конфигурация файлдарының синтаксисін қателерге тексеріңіз:
$ sudo nginx -t
Сіз келесі жолдарды көре аласыз:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Бұл қателер жоқ дегенді білдіреді. Әйтпесе, қатенің сипаттамасы, қате табылған файлдың аты және жол нөмірі көрсетіледі. Nginx конфигурация файлдарына кез келген өзгертулерді енгізгеннен кейін, олар пәрмен арқылы қайта іске қосылуы керек:
$ sudo systemctl reload nginx
Бұл мақала веб-сайтқа үлкен файлдарды жүктеп салу кезінде пайда болатын 413 сұрау нысаны тым үлкен деп аталатын Nginx қатесін қарастырады. Қатенің өзін сипаттаудан басқа, Nginx конфигурация файлдарын өңдеу арқылы қатені шешу қадамдары да сипатталды.