.netcore 部署时遇到413 Request Entity Too Large 和 413Payload Too Large 的问题

.netcore3.1 遇到一个webapi 上传大文件问题

首先,在kestrel模式调试模式下上传

 

 会报错413,

需要在三个地方添加

1、startup中

 

 

这里设置的2g最大值

2、在program中

 

 

设置2g大小

3、在对应的upload api方法中

 

 可以设置不限制大小,或者填入大小

 

这时再启动kestrel调试,上传

 

 会发现,接口已经成功,我上传的100m的文件,完全可以满足。

接下来,将webapi项目打包发布到IIS上

 

 在通过ip访问该iis

 

 

 再次尝试之前那个100m的文件,会发现

 

 有错误413 Request Entity Too Large

此时,是iis对文件上传还有一层限制,打开iis,选择配置编辑器

 

 

 

 可以发现,最大上传值被限制到了30m,于是再后面加两个0,使其达到3g,再去试试

 

 

居然还是报错413,但是和上一次不一样了,这次是 413 Payload Too Large ,负载过大

我将asp中

 

 

 

 这些也都改了,并没有什么用。但是问题我觉得并不在代码,因为kestrel模式就已经可以上传100m文件了,问题肯定是出在iis上,搜索未果。于是我决定,选择部署在nginx上(最后成功)

 

部署netcore 部署nginx   上传大文件

我用的环境是ubuntuserver18.04,搭建前需要几项东西

1、netcore3.1 sdk

2、nginx(反向代理)

3、pm2 (守护dotnetcore进程)

 

下面开始第一步,安装sdk

安装源
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装sdk
sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-3.1

如果安装完成且成功,输入   dotnet --list-sdks  会显示安装的版本

 

 

2、安装nginx

更新

sudo apt-get update

安装

sudo apt-get install nginx

启动

sudo service nginx start

如果安装完成且启动成功,浏览器输入ip会出现

 

 3、安装pm2,用来守护dotnetcore 进程

sudo apt-get update

apt-get install nodejs

apt-get install npm

npm install -g pm2

设置开机启动
pm2 startup

如果安装完成且启动成功  输入pm2 

 

 https://www.cnblogs.com/stulzq/p/9775973.html  这是一篇关于pm2的文章,可以详细学习

 

准备工作完成后,将web项目打包并上传至ubuntu机器上

 

 

 

 ubuntu 用 rar x (name)来解压rar

解压后,进入到解压目录,先使用  dotnet Lincms.Web.dll(我的项目名字)    来开启kestrel模式下的项目发现可以通过浏览器访问且上传大文件正常

 

 

 然后我们用pm2来守护它,先停掉 ctrl+c

运行 sudo pm2 start "dotnet  Lincms.Web.dll --urls http://*:8099" --name cms-maker(自己取名字)

在使用pm2 ls来查看守护的进程

 

 

 

 

再然后,我们需要把这个进程放在nginx中,做代理

sudo vim /etc/nginx/sites-available/default

修改这个默认配置文件

 

 

再再然后,还需要修改nginx的最大上传容量

sudo vim /etc/nginx/nginx.conf

 

 nginx -s reload 重启nginx

设置最大1g上传

 

 

 你会发现,成功了!

posted @ 2020-05-13 19:17  哈利路亚啊哈  阅读(3912)  评论(2编辑  收藏  举报