Die konkrete Situation ist:
Ich habe eine App (rails+passenger+nginx), die Benutzern eine Upload-Funktion zum Hochladen von Dateien bietet.
Ich habe es auf dem Server bereitgestellt und getestet
1: Beim Hochladen von Dateien über meinen Computer ist alles in Ordnung
2: Es ist in Ordnung, Dateien über den Computer in meinem Unternehmen hochzuladen
3: Bei der Bereitstellung für Mitarbeiter wird der Seitenlink unterbrochen, wenn die Datei zur Hälfte hochgeladen ist.
4: Der Mitarbeiter nutzte zum Hochladen den Computer seines Unternehmens, aber der Link wurde mitten im Upload unterbrochen.
5: Mitwirkende können manchmal hochladen (die Wahrscheinlichkeit ist sehr gering), aber meistens ist die Seite nach der Hälfte des Hochladens kaputt
Ich habe mich beim Server angemeldet, die Protokolle überprüft und festgestellt, dass nichts Ungewöhnliches passiert ist.
ps: Der Mitarbeiter hat das System schon einmal überarbeitet (es war möglich, es hochzuladen, bevor das System erstellt wurde, aber es gelang ihm nicht).
Ich vermute, dass es ein Problem mit dem Netzwerk des Mitarbeiters gibt. Es besteht auch die Möglichkeit, dass es ein Problem mit meiner Nginx-Konfiguration gibt.
Derzeit habe ich keinen geeigneten Einstiegspunkt gefunden, um dieses Problem zu untersuchen. Ich werde das Problem zuerst veröffentlichen und hoffe, dass jeder mit Ideen helfen kann
Das Folgende ist meine Nginx-Konfigurationsdatei:
include mime.types; default_type application/octet-stream; log_format simple '$remote_addr - [$time_local] "$request" $status $body_bytes_sent'; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 180; include /opt/nginx/conf/sites-enabled/*;
首先 我想问的是 你跟合作者测试上传的文件是同一个文件吗? 另外指的合作者是在一个网络内测试的吗。
你可以这样去排查:
首先让你们的测试上传文件是同一个文件 基本上就是大小一样类型一样是最好的,你可以把成功的文件给合作者 看他是否可以。
因为这个可以排查掉因为不同的文件类型或者大小造成的限制问题
如果第一点排查没有问题 再看是局域网和广域网的问题 如果是因为传送超时(某些超时限制和程序没有重试机制)也可能造成 所以建议使用小文件进行测试
再就是 想问下 这个上传程序是公司自己的程序员写的吗? 如果是可以让他们进行一个debug排查。
PS:往往一般跟重装系统不会有太大关系的 如果说跟浏览器有关系 这个可能会有一点影响 主要是看上传程序是怎么写的了。