場景還(hái)原:我們的一位客戶做了一個商城(chéng)網站(zhàn),測試階段結束後,發現數據量比較大(dà),于是客戶購(gòu)買了一台獨立的服務器來(lái)托管。服務器用了已經有大(dà)半年(nián)了,之前一切順利,最近出現FTP軟件(jiàn)無法連接服務器,一連接就(jiù)出現提示:服務器無法識别命令。請(qǐng)使用原始 ftp HELP來(lái)識别服務器所支持的所有命令。相(xiàng)關的錯誤命令是:500 Invalid PORT Command。經過與服務器供應商和機(jī)房(fáng)溝通均未解決,于是求助于我們,在技術(shù)員(yuán)的幫助下,客戶服務器最終完美解決了這個問(wèn)題。
問(wèn)題關鍵:500 Invalid PORT Command的中文意思是端口不可(kě)用,可(kě)能是因爲某種原因導緻之前的端口号被不明原因的禁用,所以隻需要更換端口号就(jiù)可(kě)以解決問(wèn)題。
解決方法:
1.到服務器的IIS的FTP中修改網站(zhàn)默認的端口号,例如(rú):4722
2.到服務器的防火(huǒ)牆中,添加兩個例外端口号,例如(rú):4721、4722
3.開啓剛剛添加的這兩個端口号,在開始→運行中輸入cmd回車,分(fēn)别輸入以下兩行代碼并執行。
cd c:InetpubAdminScripts
adsutil.vbs set /MSFTPSVC/PassivePortRange "4721-4722"
如(rú)果在執行第二條代碼時出現this script does not work with wscript等類似錯誤提示,則需要在前面加cscript.exe,然後重新執行!
this script does not work with wscript
Object required
ErrNumber:424(0x1A8)
to run this script using cscript,type:"CScript.exe adsutil.vbs",
如(rú)遇錯誤不能執行,則請(qǐng)直接使用以下代碼替換第二條代碼并重新執行。
cscript.exe adsutil.vbs set /MSFTPSVC/PassivePortRange "4721-4722"
設置完成後,重啓一下IIS即可(kě)。
4.最後在FTP軟件(jiàn)中重新設置剛剛重新分(fēn)配的端口号,數據連接類型建議(yì)使用PASV,部分(fēn)FTP軟件(jiàn)中叫做“被動防火(huǒ)牆”設置。
在網上看(kàn)了一下,還(hái)沒有發現有比較完整的解決方案,而問(wèn)題解決過程略顯複雜,因此我們特地将這個問(wèn)題的解決方法整理(lǐ)出來(lái),方便大(dà)家也方便我們自(zì)己以後參考。