Server sent unexpected return value (500 Internal Server Error) in response to PUT request 問題解決
最近整理公司SVN伺服器上的專案,為原來的公用版本拆分了版本,然後分開後重新建立版本提交,結果嘗試多次均告失敗,錯誤如下:
Error: Server sent unexpected return value (500 Internal Server Error) in response to
Error: PUT request for
Error: '/svn/LAN6505/!svn/xxx/trunk/xxx.java'
Completed!:
認真讀文章發現思路大致是這樣:1、檢查通訊過程是否遇到資料包分片。2、如果出現分片嘗試用更小的PUT值進行ping,直到分片消失。3、修改put值為未出現分片時的值。
按照該文章所提供方法成功解決該問題,方法大致如下:
第一步: 檢視 MTU
命令列輸入如下命令:
netsh interface ipv4 show subinterfaces |
結果如下
MTU MediaSenseState 傳入位元組 傳出位元組 介面
------ --------------- --------- --------- -------------
4294967295 1 0 3299 Loopback Pseudo-Interface 1
1500 1 1099698514 295780042 本地連線
1500 1 0 217835 本地連線 2
1500 1 0 197384 VMware Network Adapter VMnet0
第一個便是用於聯網的網絡卡連線,後兩個是虛擬機器,這裡看到
1500 1 1099698514 295780042 本地連線
便是聯網的MTU資訊值
第二步: 找出不進行分片的 MTU值輸入一下命令:
ping 你連線的域名 -f -l 1472
比如我的是:ping svn.o.xxxxx.com -f -l 1472
-f 引數表示資料包作為一個整體傳送,不分片, 引數 -l 1472 為設定資料包的大小。(1472 = 預設MTU值1500 – 包頭資料 28 bytes)
結果如下:
正在 Ping xxx.xx.org [125.xx.xx.xx] 具有 1472 位元組的資料:
來自 125.xx.xx.xx 的回覆: 需要拆分資料包但是設定 DF。
需要拆分資料包但是設定 DF。
需要拆分資料包但是設定 DF。
需要拆分資料包但是設定 DF。
意思為報文傳輸失敗,需要拆分才能傳送。
然後嘗試用更小的值去ping,比如1460,1450等,知道能夠ping通。
記錄能ping通的最大mtu值,然後加28,比如我的是1464+28=1492
第三步: 設定 MTU值
輸入一下命令修改MTU值:
netsh interface ipv4 set subinterface "本地連線" mtu=1492 store=persistent
"本地連線"名稱根據自己網絡卡連線名稱修改搞定。