【茶包射手日記】IIS找不到路徑有"."的網址

在一個專案中用了Kendo UI,透過NuGet取得Kendo套件,JavaScript被放在/Scripts/kendo/2013.1.319/*路徑下。本機測試無誤後丟到Windows 2003 IIS6測試台,發現所有連到/Scripts/kendo/2013.1.319/*及/Content/kendo/2013.1.319/*的URL都傳回HTTP 404 Page Not Found。

依之前有ASP.NET MVC Routing與"."不合的經驗(延伸閱讀: Handing MVC paths with dots in the path),直覺是"."出問題,試著將"."改成"-"果然就正常。只是,這次專案是純HTML,連ASP.NET都沒用到,ASP.NET Routing有不在場證明,而且印象中IIS並沒規定URL的路徑不允許使用".",Kendo UI規劃這種路徑豈不自找麻煩。

經過一番追查,在IIS Log找到線索:

2013-05-02 07:40:54 192.168.1.1 GET /Rejected-By-UrlScan ~/poc/Content/kendo/2013.1.319/kendo.meg-default.css 80 - 192.168.1.168 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.31+(KHTML,+like+Gecko)+Chrome/26.0.1410.64+Safari/537.31 404 0 2

原來是測試台安裝了UrlScan,從中做梗!

找到C:\WINDOWS\system32\inetsrv\urlscan\UrlScan.ini,其中有條設定:
AllowDotInPath=0

將0改成1,問題排除~

PS: 依查到的文件,AllowDotInPath=1的風險在於UrlScan附檔名過濾挸則可能失效,而這方面IIS已經強化很多,不致衍生資安問題,應可安心調整。

歡迎推文分享:
Published 03 May 2013 08:02 AM 由 Jeffrey
Filed under: ,



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<May 2013>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
【工商服務】
OrcsWeb: Windows Server Hosting
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication