今天由於使用中的一台windows服務器硬盤損壞,導致系統需要重裝,而這台服務器上原先部署着一個運行正常的網站,在這次同事裝完IIS環境后,
啟動網站時發現,能訪問上面的文件,但是無法通過POST操作向網站上傳遞數據,花了一些時間才解決問題,以下是解決過程:
- 按照以前發生過類似的問題的解決方案,先懷疑的是網站權限問題,是不是EveryOne和 IUSE 對網站對應的物理路徑都沒有寫入權限,導致網站無法正常寫入文件
- 我們嘗試修改網站物理路徑對應用戶權限,但是里面文件數量較多,遞歸修改權限耗時較長,遂放棄
- 同事想了個辦法,新建一個相同的網站(網站功能本身不復雜,部署也簡單),配置好相應的用戶權限,同樣上傳文件,發現依然無法上傳
- 排除是用戶權限的問題
- 既然是無法上傳成功,那么服務器上應該是會有日志的,於是通過查看IIS服務器的日志
,發現,上傳數據的訪問返回碼都是405,意思就是無效的謂詞
- 這就很麻煩了,無效謂詞太寬泛了,而且讓人摸不着頭腦。
- 通過網上一些博客,發現大多解決方案都是
在這里面添加一些腳本,但是我發現,這些博客中提到的一些服務器環境我的IIS上壓根就沒有
- 遂聯想,是不是由於服務器本身少安裝了一些環境導致IIS無法接受POST請求呢,
- 一檢查發現
紅框中的功能是未安裝的
- 重新通過
服務器管理的添加角色和功能安裝一下,重啟,一切OK