首頁  >  問答  >  主體

ruby-on-rails - 為什麼伺服器用nginx上傳檔案總是失敗?

具體的情況是:
我有一個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/*;
迷茫迷茫2712 天前910

全部回覆(1)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:32:21

    首先 我想問的是 你跟合作者測試上傳的文件是同一個文件嗎? 另外指的合作者是在一個網路內測試的嗎。

    你可以這樣去排查:
    首先讓你們的測試上傳文件是同一個文件 基本上就是大小一樣類型一樣是最好的,你可以把成功的文件給合作者 看他是否可以。
    因為這個可以排查掉因為不同的文件類型或大小造成的限制問題

    如果第一點排查沒有問題 再看是局域網和廣域網的問題 如果是因為傳送超時(某些超時限制和程序沒有重試機制)也可能造成 所以建議使用小文件進行測試

    再就是 想問下 這個上傳程式是公司自己的程式設計師寫的嗎? 如果是可以讓他們進行一個debug排查。
    PS:往往一般跟重裝系統不會有太大關係的 如果說跟瀏覽器有關係 這個可能會有一點影響 主要是看上傳程式是怎麼寫的了。

    回覆
    0
  • 取消回覆