The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何將 Angular 2 含有路由機制的 SPA 網頁應用程式部署到 IIS 網站伺服器

這幾個月以來,我們一直在利用 Angular 2 建構一個還不算小的入口網站,網站前端用的是 Angular 2 框架,後端用的是 ASP.NET Web API 2 框架,還好有 Angular 2 這樣一個優雅又完整的框架,讓我們整個前端團隊不分資深或資淺,大家都可以順利分工合作。如今網站即將上線,進入了要部署的時間點,原本在 Angular CLI 提供的開發伺服器上,程式都跑得好好的,但部署到 IIS 卻發生了網址路由的問題,除了首頁以外的頁面都會顯示 HTTP 404 Not Found 的錯誤,這該如何是好呢?本文告訴你如何解決!

... 繼續閱讀 ...

介紹 IIS 8 全新的 HttpPlatformHandler 模組與 ASP.NET 5 Beta8 重大變更

HttpPlatformHandler 是一個支援 IIS 8 與 IIS 8.5 的原生模組 (native module),主要使用於 Microsoft Azure Websites 網站服務中,用途是讓 Java 或其他第三方程序可以輕鬆整合到 IIS 之中,讓各種 Web 框架都能直接掛載到 IIS 之上。而近期發佈的 ASP.NET 5 Beta8 版本也正式宣告改採 HttpPlatformHandler 模組搭配 Kestrel HTTP Server 執行 ASP.NET 5 應用程式,想要了解其內部運作結構,必須得了解一下。

... 繼續閱讀 ...

強迫網站轉向到 HTTPS 加密安全連線 ( IIS URL Rewrite )

我們由於越來越多網站系統都開始搬上 Microsoft Azure 雲端平台,由於走的是網際網路,數據傳輸的安全性格外重要,還好 Microsoft Azure 網站免費提供一個萬用的 SSL 憑證 ( *.azurewebsites.net ) ,所以我們可以不費吹灰之力的提供一個擁有 HTTPS 的網站。較為早期的時候,我們大多會在程式裡判斷使用者打開網頁的要求是否是 HTTP,如果是 HTTP 要求就自動轉向到 HTTPS 安全網頁。現在,只要調整 web.config 就可以輕易完成需求,非常簡單。

... 繼續閱讀 ...

解決IIS在「啟用 32 位元應用程式」之後網站無法執行的問題

雖然在 2014 年的今天,依然還是有許多第三方元件無法正確執行在 64 位元的 CPU 架構下。當我們想要將 ASP.NET 網站跑在 32 位元的應用程式集區上時,IIS 的應用程式集區勢必做出設定,雖然這是個非常容易的設定,但有時候網站卻會在應用程式集區設定完「啟用 32 位元應用程式」之後立刻陣亡,搭配著的晦澀不明的錯誤訊息,真的會有點吐血。接下來,就讓我們一起探究問題的根源吧!

... 繼續閱讀 ...

部署內部網站並使用 Windows 驗證登入的標準作業流程

上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。

... 繼續閱讀 ...

ASP.NET MVC 4 在 .NET 4.0 與 .NET 4.5 的專案範本差異

昨天在【ASP.NET MVC 4 開發實戰】課程中,學員們發現了一個問題,就是在實作與測試 ASP.NET MVC 的 Routing (路由) 機制的過程中,發現有個功能有些人做得出來,有些人卻做不出來,當我前去查看時也沒立即發現問題癥結,中午休息的空檔終於找到的這個細微的差異之處,所以還是寫篇文章提醒正準備開始使用 .NET Framework 4.5 的 ASP.NET MVC 開發人員。

... 繼續閱讀 ...

在 IIS 8 安裝設定 ARR 與 Web Farm Framework 的注意事項

Application Request Routing (ARR) 搭配 Web Farm Framework (WFF) 是個很好的產品組合,且整個 Windows Azure 雲端平台也都是用這些免費套件來實現網站之間的負載平衡,其穩定度與效能不在話下,但在台灣卻鮮少聽到有公司採用 ARR 與 WFF 來實現網站負載平衡,連分享文章都看不到幾篇,實在有點可惜。前陣子幫客戶裝了 ARR 與 WFF 來實現網站負載平衡,不過這次安裝到 IIS8 的時候有遇到一些問題,因此把這些該注意的事項都整理下來,以減少下次設定時犯錯的機會。

... 繼續閱讀 ...

使用 PowerShell 在 IIS7 / IIS8 所有站台新增 robots.txt 檔案

還記得我去年寫過的【個資保護、Google Hacking 與 robots.txt 的關係與設定技巧】文章嗎?在公司內部的測試環境設定 robots.txt 非常重要,因為你必須阻止 Google 與各家搜尋引擎來到你的測試網站大肆搜索,否則那些開發到一半的網站、那些可能含有不完整的資訊,全部都會揭露給無心人與有心人知道。不過,無論我提過幾次這點重要性,總是有人會「忘記」在部署網站時順手加上這個檔案,三不五時的亡羊補牢其實也蠻讓人頭疼的,今天我寫了一支 PowerShell 指令檔,就是要來徹底解決這個問題。

... 繼續閱讀 ...

免費申請 StartSSL™ 個人數位簽章與網站 SSL 憑證完全攻略

銷售憑證的公司競爭激烈,國外甚至於有一家簽發憑證的業者 StartSSL™ 提供完全免費的 SSL 與 S/MIME 憑證,每次可申請一年期,憑證有效日到期之前還可以再次申請一次憑證,一樣是免費。這個免費的申請方案其實已經存在很多年,一年可以省下數千元的憑證簽證費用,是個不錯的選擇。但礙於申請的步驟十分繁瑣,可能還是有許多人不知道如何申請免費憑證。

... 繼續閱讀 ...

ASP.NET MVC 使用 Html.BeginForm 預設多載引發的問題

最近因為有客戶要求將網站部署到 Windows Azure WebSites 雲端平台,原本在開發環境測試都沒什麼狀況,反而是部署到 Windows Azure WebSites 之後才發現一個棘手的問題,一般網頁瀏覽並不會有問題,而是當使用 IE 瀏覽器,且有表單要送出資料時就會發生 502 - Web server received an invalid response while acting as a gateway or proxy server. 的問題,這才發現一個 ASP.NET MVC 的小臭蟲(Bug)。

... 繼續閱讀 ...

使用 MSDeploy 部署網站時如何避免變更遠端目錄NTFS權限

由於我們許多專案都用 MSDeploy 進行部署,但最近因為 IIS 伺服器上的架構有所變更,卻引發專案進行部署時發生許多 NTFS 權限上的錯誤,也就是當網站部署之後,連本機系統管理者都無法透過檔案總管進入目錄的窘境,剛花了一個多小時研究,終於找到徹底解決此問題的方法。

... 繼續閱讀 ...

在 IIS7 新增【中文域名】的網站站台無須先轉換 PunyCode

有時候知道太多東西也好像不是見好事,像我多年前在幫客戶設定一個〔中文域名〕的時候,就是遇到設定網站前要先將中文域名轉成 PunyCode 才能設定的情況,今天我公司同事由於要替客戶新增一個中文域名的網站,因為他沒設定過,便跑來問我應該如何設定。我就跟他講有 PunyCode 這件事,然而設定完成之後 IIS7 裡的站台完全打不開,而且查不出原因,這才發現原來 IIS7 早已內建支援中文域名,設定的時候無須轉換網址就能正確設定,這件事,還是寫篇文章來提醒大家吧。

... 繼續閱讀 ...