iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

30天 IIS 面面觀系列 第 11

Day11. 設定檔操作介面 - Configuration Editor

  • 分享至 

  • xImage
  •  

前面提了這麼多設定檔,那 IIS 本身有提供修改他們的方式嗎?有的,前面也說過盡量不要用文字編輯器直接做修改,避免因為簡單的 syntax 錯誤造成 service down。 IIS 上就有個最基本,也方便的設定編輯介面來幫助我們做到一般設定、介面上沒有但 IIS 有提供的設定修改 ─ Configuration Editor。

如果你的 feature 介面是 group by area,那該設定會出現在 Management 的部分,無論是 Home 層級還是個別網站層級,都有設定,Home 層級自然是對應到 ApplicationHost.config,網站層級則是對應到個別網站的 Web.config。

https://ithelp.ithome.com.tw/upload/images/20220926/20142057iq1LM4ehJs.png

前面看過 Home 層級的設定檔了,我們這次看看網站層級的設定檔,點其中一個網站,並點選 Configuration Editor,就會看到像這樣的介面:

https://ithelp.ithome.com.tw/upload/images/20220926/20142057BdRRCKhPLa.png

右上角 From 的位置會指名目前正在觀看 / 修改的設定檔歸屬於哪個目錄哪個檔案。像我們現在在改網站,設定除了能夠直接設在 Web.config 底下,也如上篇講過的 location ,我們可以依存在 Root config 的 location = “DemoWebsite2” 底下,這就看個人的設定管理選擇。

左上角 Section 標明目前在的 Section 層級是哪個層級,比起我們昨天看的 ApplicationHost,多了些不同的大 section,這邊不一一深入。只多講一點 system.web 這個 section 是跟 .net 比較相關的設定會掛在這裡,昨天講過的 system.webServer 是跟 IIS 本身設定更相關的 section,名字很像,這兩個 section 也有許多常用設定,故特別提一下它們的差異之處。

這篇官方文檔依據功能類別,寫下了各個功能設定該去哪邊找,這邊我們以其中一個為例:比如你要修改一些跟 Http Header 相關的設定,參照這篇文件,你會看到,相關設定的路徑應該是這個:system.webServer/httpProtocol

https://ithelp.ithome.com.tw/upload/images/20220926/20142057ziDFxXyPPs.png

像這種細項在裡面的內容就要靠點開右邊的 … 來展開詳細內容:

https://ithelp.ithome.com.tw/upload/images/20220926/20142057geV5ze0x1k.png

如圖,我們就知道目前在 Header 裡我們有客製加上的就是 X-Powered-By 的這個數值。另外可以看到我手動加上了另一個 IIS-In-30Days 的 Header,套用儲存之後我們可以來看一下有沒有反映上去。

修改完記得按右上角的 apply 才會套用,或是你要離開當前頁面的時候他也會提醒你你有未儲存的設定,是否要儲存該變更這樣子的警語。

https://ithelp.ithome.com.tw/upload/images/20220926/20142057tt0lTMCNEG.png

有了!可以看到我們新增的 Header 就如預期出現了。

另外 IIS 本身也有提供查找功能的介面,雖然我相信大部分人遇到需要的選項會上網查的比較多,這邊就知道一下也不錯:

https://ithelp.ithome.com.tw/upload/images/20220926/201420575PnczuwABT.png

在介面的右邊,點開 Search Configuration,輸入要查找功能的關鍵字,就會展開相關的內容,典籍後就會展現目前 config file 有加在這個屬性上的設定。搜尋的缺點是他基本只綁定該路徑名字,像 httpProtocol 這個部分有主要包含 Header 的功能,但你查 Header 是查不到東西的,如果能加入這個會更好,目前看上去就是 Base on section name 本身去做查找。

大家看過前面應該知道 config 檔案間在一定的情況下彼此有上下繼承關係,當你想把修改在這層的設定移除,回去吃上層設好的設定的話,IIS 右邊的 Revert To Parent 就是一個方便的功能,但也要注意,Revert 完可沒辦法後悔,要確認完再按下確定囉

https://ithelp.ithome.com.tw/upload/images/20220926/20142057rPnjmNxh9Z.png

Lock 的功能就是鎖住避免你誤改到用的,如果真的要用要注意你自己鎖的層次是哪個層,如上面這張截圖,我的 focus 在 customHeaders,section 是在 httpProtocol。如果我點 Lock Section,上鎖的就會是 httpProtocol section,如果我點 Lock Element,那鎖的就會是單一屬性。

另外注意怎麼鎖的就只能怎麼解鎖,所以才會說要注意自己鎖的層次。我想這個功能一般人應該也是不太會用到,這邊也就不多做討論,只是帶過。(有些設定感覺鎖了好像也能改,這個我其實也不是很清楚,可能是我有所誤解)。

https://ithelp.ithome.com.tw/upload/images/20220926/20142057LFDhlOsZFi.png

https://ithelp.ithome.com.tw/upload/images/20220926/20142057QTw6ASYgjk.png

被上鎖的屬性在旁邊會有小鎖頭,在 config file 裡看起來會像是這個樣子。

還有一個功能是 generate script,他是在你對內容做過一定修改後,你可以按下這個按鈕,他會列出「該怎麼用script的方式去做到你剛剛做的改動」。所以當你沒有修改的時候,或是修改已被儲存的時候,這個按鈕會是暗的,看下圖可以發現三個都是一起亮一起暗的。這個功能也貼心的提供了各個語言的版本,主要用途應該是在協助部署或維運上能夠產生能複用到多台的變更內容,也就了解一下,如果有用到的場景可以知道有這個功能。(部分立即作用的功能不會被偵測到,如 Lock 的部分和 Revert to parent。)

https://ithelp.ithome.com.tw/upload/images/20220926/20142057dNSkmW5bFc.png

https://ithelp.ithome.com.tw/upload/images/20220926/20142057RMzHyREOLJ.png

這篇內容就比較直觀,帶大家看了一下 Configuration Editor 設定檔該去哪裡調整,如何查找自己想要確認的參數,調整的方式跟各項功能。


上一篇
Day10. IIS 怎麼記的住那麼多設定?靠小抄(下) - Config files
下一篇
Day12. 新世紀福爾摩斯的部分 - Config Auditing
系列文
30天 IIS 面面觀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言