顯示具有 IIS 標籤的文章。 顯示所有文章
顯示具有 IIS 標籤的文章。 顯示所有文章

2026年7月6日 星期一

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。

但英數字檔案名稱則可下載。

因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。

27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元

這項原則設定決定查詢字串是否允許使用高位元字元(非ASCII字元)。高位元字元之範例包括:Ж、Ы或Я

當查詢字串因含有高位元字元而被拒絕時,IIS將會記錄404.12狀態在日誌檔中

禁止使用高位元字元,可確保URL中不會出現非ASCII文字,以避免發生輸入特殊字元或跳脫命令字元等攻擊語法


解決方式:

針對需要排除的路徑允許高位元字元勾選。

在網站>要求篩選>URL頁籤>允許URL>輸入/要允許的目錄>編輯功能設定>勾選允許高位元字元。


2020年1月15日 星期三

windows 2016裝機摘要

今天安裝了一台windows 2016 + SQL Server 2016外加.net core的網站。
net core以前都是同事安裝,今天我連同主機+DB一次安裝,覺得過程好繁鎖,所以記錄一下

SQL Server 2016因為要使用Analysis Services功能,所以安裝了企業版,主要原因是為了以後可切3個以上的Partition,因為標準版只有支援3個Partition,這年頭應該沒什麼人在用CUBE這東西了吧,但用他來做政府單位的統計報表,我覺得很方便。

裝完主機+DB後,開始設定網站。先設定OLAP,主要是要使用http olap來連接CUBE,可以參考https://docs.microsoft.com/en-us/analysis-services/instances/configure-http-access-to-analysis-services-on-iis-8-0,這個功能SQL 2000以來就有支援,好處是不用綁windows帳號就可以連接Analysis Server,缺點則是在安全性上要做好控管。

再來設定.net core,主要是要安裝.net core runtime 和Hosting Bundle Installer

進入https://dotnet.microsoft.com/download/dotnet-core/

選擇所需的版本後,下載 Hosting Bundle。

安裝完執行iisreset  重啟網站。

大功告成。

2018年8月28日 星期二

IIS CSR請求檔轉出.key檔

在windows2012上的IIS產生憑證請求檔.CSR後,申請GCA憑證後,並已下載憑證檔.cer。

因使用第三方客製元件,需要憑證的.key檔(私密金鑰)。
故於windows中,開啟MMC主控台,新增憑證管理功能>>電腦帳戶>>本機電腦後,再於憑證下的【憑證註冊要求】目錄下匯出原先產出的CSR檔。
匯出時,選取【是,匯出私密金鑰】,選取【個人資訊交換-PKCS#12(.PFX)】,將憑證存成.PFX格式。

接著使用OPENSSL指令,將.PFX轉換為.KEY檔。

openssl pkcs12 -in 2018test.pfx -nodes -out 2018test.pem
openssl rsa -in 2018test.pem -out 2018test.key


openssl可到免安裝的OPENSSL(https://indy.fulgan.com/SSL/)下載,目前版本到V1.0.2o。


後續,在使用openssl加解密其他檔案時,發現其他人使用openssl最新的版本V1.1,但因其加密原則預設和V1.0不同,故使用V1.1加解密時若未指定 -md md5 無法解密以V1.0處理的檔案。

2017年11月8日 星期三

IIS 找不到網路路徑

IIS 8.5 網站登入後,只顯示一個例外錯誤

System.ComponentModel.Win32Exception
找不到網路路徑

測了好久也把網站移到另一台主機,相同的檔案,但這台主機卻一直回報這個錯誤。

後來被告知,這台主機更換過主機名稱及Administrator的名稱。

查看使用的應用程式集區,嗯........原來識別是使用Administrator。

改回ApplicationPoolIdentity後,重啟一下IIS,終於可以登入了。

2013年7月16日 星期二

IIS 8 MVC4 網站

將WEBSITE部署到 windows 2012時出現幾個狀況

無法載入檔案或組件 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其相依性的其中之一。 系統找不到指定的檔案。

解決方法:
publish時bin檔下也沒這個檔,所以到 http://www.asp.net/mvc/mvc4 去下載mvc4,安裝完後就OK了。

[FileLoadException: 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)]

[FileLoadException: 無法載入檔案或組件 'Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其相依性的其中之一。 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)]


解決方法:
因有安裝了reportviwer 2012 runtime,可能有CACHE,故重啟IIS 網站所用到的應用程式集區即OK。

2012年10月30日 星期二

IIS Worker Process問題

在一台windows 2003 R2標準版環境,建立了一個.net 4.0的網站.
結果每隔一段期間, 就會出以下的錯誤,

szAppName : w3wp.exe     szAppVer : 6.0.3790.3959     szModName : unknown    
szModVer : 0.0.0.0     offset : 62cbb9ce    

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\WERdaef.dir00\w3wp.exe.mdmp
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\WERdaef.dir00\appcompat.txt


1.重啟W3SVC (Net Stop W3SVC and Net Start W3SVC)
2.清除C:Documents and Settings\Administrator\Local Settings\Temp
3.重啟iis (iisreset)

iisreset後,一切又都正常

後來建立一個新的應用程式集區,將網站原來使用的DefaultAppPool改成新的集區後,目前看來正常了...

 我想應該是預設應用程式集區原本是.net 2.0網站使用, 而我的網站是.net 4.0, 二個錯亂了吧??

2012年3月7日 星期三

Internet Explorer無法開啟這個網際網路網站。可能是因為要求的網站無法使用或找不到。請稍後再試

在開啟網站下的EXCEL檔時,出現無法存取檔案的訊息,訊息如下
.檔案名稱或路徑不存在
.這個檔案正被其他程式所使用中
.您要儲存的活頁簿名稱與現有開啟的活頁簿名稱相同

若儲存檔案則有Internet Explorer無法開啟這個網際網路網站。可能是因為要求的網站無法使用或找不到。請稍後再試。

最後發現是中文檔名的檔案在WINXP+IE8會有無法下載的問題,解決方法如下;
1.開啟IE瀏覽器,選擇「工具」-->「網際網路選項」
2.選「進階」頁籤,勾選「國際*」下的「傳送UTF-8 URL」
3.關掉所有IE再試一次

網路上有人是反勾選的做法, ANYWAY,都試看看吧...

目前遇過類似問題,除上述方法外,可能解決方法如下
1.如果網站有安裝urlscan,也請記得要C:\WINDOWS\system32\inetsrv\urlscan\UrlScan.ini下的 AllowHighBitCharacters 設定成 1 重新啟動 IIS.
2.若網站走IIS6.0  HTTPS,則確認該IIS檔案目錄,按右鍵內容,查看其自訂HTTP標頭下,是否有設定cache 

2013/02/23,
後來又遇到一個狀況,
IIS7.5 網站下的HTTP回應標頭加入Cache-Control,值為no-cache
結果網站中REPORT VIEWER 的RDL 皆無法進行匯出或列印
後來將 網站下的HTTP回應標頭加入Cache-Control改建立在需要的目錄下後即解決。

2012年1月17日 星期二

呼叫 LoadLibraryEx失敗

因為一個舊系統的需要安裝.net 1.1,所以我在windows 7 enterprise 64X上安裝了.net framework 1.1
 結果造成原本可以瀏覽的.net 4的web site都無法瀏覽了.
出現了這個錯誤

呼叫 LoadLibraryEx (於 ISAPI 篩選器 "c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.dll" 上) 失敗

Calling LoadLibraryEx on ISAPI filter “C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll” failed

尋找一番後, 進行了二件事
1. 在dos 模式下, 切換到C:\Windows\Microsoft.NET\Framework\v4.0.30319 及C:\Windows\Microsoft.NET\Framework64\v4.0.30319 執行 aspnet_regiis -r
2.在iis應用程式集區下,在.net 4.0的應用程式集區下,進到進階設定下,將啟用32位元應用程式設為True

2011年7月17日 星期日

IIS 7無法上傳超過30MB 檔案

網站由windows 2003換到windows 2008後, 上傳大旳檔案時會出現404 not found的錯

web.config httpruntim 有設定maxlength, 但仍無法上傳, google 到此篇
以下是更改設定指令.

REM切換到appcmd目錄
cd c:\Windows\systems32\inetsrv

REM 先備份IIS設定
appcmd add backup test20110718

REM 查看IIS備份紀錄是否存在
appcmd list backup

REM 先查主機的SiteName及APP list
appcmd list app

REM 查看目前上傳設定,找關鍵字requestLimits
appcmd list config "Default Web Site/mySite" -section:requestFiltering

REM 更改size 單位為byte ,以下為100MB左右
appcmd set config "Default Web Site/mySite" -section:requestFiltering -requestLimits.maxAllowedContentLength:102400000 -commitpath:apphost



2011年7月12日 星期二

windows 2003 IIS 顯示silverlight

把原本部署在IIS7的網站改部署到windows 2003 R2 IIS上,

如果在顯示silverlight物件時,出現了這個錯誤....

網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Foxy/1; .NET CLR 1.1.4322; InfoPath.3; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Tue, 12 Jul 2011 09:43:13 UTC


訊息: Unhandled Error in Silverlight Application
Code: 2104   
Category: InitializeError      
Message: 2104 發生錯誤。    
行: 47
字元: 13
程式碼: 0
URI: http://bev2003/Demo/Scripts/jquery.silverlight.js






google找到以下訊息, 是IIS少了silverlight檔案的關聯設定


  • .xap application/x-silverlight-app

  • .xaml application/xaml+xml

  • .xbap application/x-ms-xbap 


  • 主要是在IIS 本機電腦,按右鍵選內容, 在MIME類型加入幾上三個檔案即可.

    2011年3月23日 星期三

    災難

    用virtualbox安裝一台32 bit windows 7 professional......天啊......零星災難一堆....
    新的OS安裝容易但設定卻是很折騰人啊.

    首先是virtualbox的網卡設定,預設安裝後啟動windows 7, 一切看來正常,系統開始做windows update, 等一切就緒後, 想要安裝其他的軟體...突然發現無法連結本機.
    怪怪, virtual machine不是預設應該就能找得到母體機器的嗎???
    花了幾天的時間查看,很好奇virtualbox內的ip為何是10.x.x.x的網段,一時沒細想,也沒想到要解決,最後是利用 建立共用資料夾的方式先解決. 我還在想,這更怪, 母體機器找不到,但設成共用資料夾是可以連結得到?? 一堆問號
    FINALLY,終於找到解答, 要設二張網卡,一張設NAT,一張設本機網卡, 然後在母體機器的網卡開啟共用...

    然後安裝IIS 7, 把網站部署上去,結果出現這個錯
    這個設定區段不能在這個路徑中使用。當區段在父層級被鎖定時就會發生這種情況。鎖定可能是預設 (overrideModeDefault="Deny"),或是由位置標記使用 overrideMode="Deny" 或繼承的 allowOverride="false" 明確設定。

    結果是預設安裝IIS勾選時,有一項 應用程式開發功能下的選項也要勾選安裝..
    麻煩....如果不了,就全勾吧..

    然後接著出現


    HTTP 錯誤 500.21 - Internal Server Error
    處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"


    google說,要重新C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i

     哇咧,目錄下根本沒有 aspnet_regiis.exe –i
     
    所以還是要按正常方式安裝一次Net Framework 4.0....
     
    搞定.... 

    2009年10月27日 星期二

    編譯器錯誤訊息: CS0016: 無法寫入輸出檔

    有一天, 網站執行時會出現編譯錯誤

    編譯器錯誤訊息: CS0016: 無法寫入輸出檔 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\asp\3431bdf7\e3641c1\App_Web_default.aspx.cdcab7d2.rsphwbc0.dll' — '存取被拒。 '

    試了幾個步驟:

    爬文查了些資料後, C:\WINDOWS\TEMP 目錄加入networkservice的安全性即可,xp應該是要加aspnet吧

    想了一下,好像 做完磁碟清理後 , 都會有這種狀況...

    client found response content type of text/html...

    架設一個內部網站,出現這個錯, 很怪...
    client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. the request failed with the error message:
    ...
    section or group name 'system.web.extensions' is already defined. updates to this may only occur at the configuration level where it is defined.

    最後找到原因
    是iis root 的目錄下放一個web.config, 大概是衝到了吧...

    IIS 網站無法下載中文檔名檔案因為取消高位元字元

     網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...