qduoj测试数据包问题(nginx上传数据包大小限制问题) + 127.0.0.1,localhost和公网IP的区别

qduoj测实数据上传流程

我们在本地通过网页按钮(路径)把本地的测试数据上传到oj-backend的data文件中,以题目id重命名数据包,我们判题是通过题目id号来查找测实数据,转化为md5码与提交生成的md5码比对。
上传到web服务器流程(任何服务器上传包都是有一个大小限制的,阿里云服务器由于服务器开放 web 上传大文件功能会严重增加服务器性能负载并影响服务器稳定性,目前轻云和虚拟主机 web 上传文件大小有如下限制,该参数为固定设置,不允许修改。直接上传服务器如果不是以上两种可以百度一下加大限制的方法,当然如果用的nginx反向代理服务器,见下文):
由于域名,子域名都绑定了服务器的公网ip,那么也就是说我们通过http/https访问域名时,也就等同于访问公网ip的80和443端口。当我们以域名访问时,占用服务器80,443端口的nginx识别域名,从而达到转发的作用。
我们上传时是先访问的是域名,也就是服务器80端口/443端口上的反向代理服务器,此时代理服务器对外就表现为一个Web服务器,我们上传到nginx服务器上,然后我们在转发包到域名对应的服务器端口上进程上,上传服务器包的大小就受到了限制,所以我们需要修改nginx的配置文件,实现大包上传,包转发到oj-backend的docker端口上,docker再转发到容器中的data文件夹里,完成上传。nginx服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
nginx原理详解

由于我们计算机交互速度是取决于,两端计算机的带宽的,我们由本地(本地网速快上传速度(发送到接受计算机对应的ISP)肯定也快的)·将数据帧发送到对应的接受计算机的ISP,ISP通过数据帧中对应的IP地址传输给计算机(快慢取决于计算机与ISP之间的带宽),之后当计算机下载完再发送完成消息给传输计算机,同时将网页的此时样例处的数据帧也发送过来,合并到原来网页。类似我们qq传输文件,你的网速快你发送肯定快三,但是对方下载数据帧的速度取决于他的网速三,由于我的aliyun服务器小水管1mbps,所以很慢,可以理解 同样下载数据包也是一样

测试数据下载迟缓

下载的时候也有一个压缩操作(从data文件夹中提取出txt,并压缩再下载),数据比较大的时候还是会有明显延迟的


0.0.0.0表示整个网络即网络中所有主机
127:0:0:1表示内部网络本机ip,就是项目部署的机子的ip地址。localhost即是其(127:0:0:1)的域名。用来访问本机的东西,在本机内浏览器通过端口号访问本机的东西,但是外网无法访问。
外网访问本机,通过机子在公网中的ip地址来访问或做内网穿刺。

你可能感兴趣的:(qduoj测试数据包问题(nginx上传数据包大小限制问题) + 127.0.0.1,localhost和公网IP的区别)