具體的情況是:
我有一個app(rails passenger nginx),其中提供一上傳功能給用戶上傳文件.
我部署到伺服器上後測試
1: 用我的電腦上傳檔案一切ok
2: 用我公司裡的電腦上傳檔案也ok
3: 提供給合作者時,當上傳文件到一半時頁面連結中斷.
4: 合作者用他公司的電腦上傳,也是上傳一半就中斷連結.
5: 合作者有時能上傳(這種幾率很小)大多數是上傳一半頁面就斷掉了
我登入伺服器上,查看日誌發現並沒有什麼異常發生.
ps: 合作者之前重做過系統(在未做系統之前能上傳).用的是firefox瀏覽器,也用過ie瀏覽器都失敗了
我猜想是合作者的網路出現了問題.也有一種可能是我的nginx配置出了問題.
目前沒有找到合適的切入點來查這個問題.先把問題貼出來,希望大家幫忙出出主意
下面是我的nginx設定檔:
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:往往一般跟重裝系統不會有太大關係的 如果說跟瀏覽器有關係 這個可能會有一點影響 主要是看上傳程式是怎麼寫的了。