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

The Will Will Web

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

如何強制刪除含有自訂域名的 Azure Front Door 服務資源

最近幫客戶導入 Azure Front Door 負載平衡器與 WAF 服務,在進行一連串的測試之後,發現想刪除測試用的 Front Door 服務卻無法刪除。原因是 Azure Front Door 當有設定 自訂域名 (Custom Domain) 的時候,預設會需要事先設定自訂域名的 DNS CNAME 紀錄,然而在刪除 Front Door 資源的時候,卻需要先刪除該 CNAME 紀錄才能刪除該資源,有點不太方便。因為 DNS 註冊在客戶端,且申請刪除 CNAME 紀錄需要好幾天時間,所以便研究了一下如何在不解除 CNAME 記錄的情況下刪除 Azure Front Door 資源。

... 繼續閱讀 ...

如何以 Guest 身份將 Azure 的 Service Principal (服務主體) 加入角色指派

最近加入到一個客戶的 Azure 訂用帳戶設定 CI/CD,在做這件事情之前,當然是先建立好 Service Principal (服務主體),然後才進行角色指派,讓該服務主體擁有必要的權限才能進行部署。不過建立完成後才發現,我忘記將 Storage account (儲存體帳號) 的 Storage Blob Data Contributor 角色指派給我建立好的 Service Principal (服務主體),以致於我無法透過 AzCopy 複製檔案進 Blob 容器中。最悲劇的地方,就是我的 Guest 身份竟然無法讀取 Service Principal (服務主體) 的任何資訊,導致我無法順利指派角色,這篇文章我就來說說我的最終解法!

... 繼續閱讀 ...

變更 Azure App Service 的時區設定需注意 Windows 與 Linux 平台的差異

當你在 Azure 使用 App Service 部署網站時,預設的時區是設定在 UTC 時間,當你的網站不需要處理跨時區的問題時,最簡單的解法,當然就是調整系統設定,讓你的程式可以直接讀取到台灣時區的時間 (UTC+8),原本我們都設定的好好的,但上周突然決定要改用以 Linux 為主的 App Service Plan,這才發現時區設定失效了,查詢後才發現原來設定不同!這篇文章我將說明如何正確的調整 App Service 的時區設定。

... 繼續閱讀 ...

資訊安全筆記:盤點 Azure 訂用帳戶與角色指派的方法

在 Azure 所有 使用者 (User) 與 服務 (Service) 都代表著一個 主體 (Principal),而 Azure 的 RBAC (以角色為主的存取控制) 主要就是針對 主體 (Principal) 來進行角色指派 (授權),因此我們可以對 使用者主體 (User Principal) 或 服務主體 (Service Principal) 設定在不同資源所擁有的角色。本篇文章我打算來分享幾個方法,教你如何在特定 訂用帳戶 (Subscription) 下查出有哪些主體被設定了哪些角色,以及特定主體已經被授權到了哪些訂用帳戶哪些資源哪些角色,藉此用來盤點是否有不當授權的狀況。

... 繼續閱讀 ...

在 Azure 實現 GitOps 的起手式:使用 Bicep 部署 Web 應用程式

我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。

... 繼續閱讀 ...

分享一組我在啟動 Windows Sandbox 時都會執行的初始設定腳本

在本機進行 Windows 應用程式的測試,最簡易的方法就是啟動 Windows Sandbox 沙盒環境,不用十秒就可以開啟一台臨時的虛擬機,關閉後所有資料都不會保留,非常方便用來驗證許多安裝作業流程。不過 Windows 10 內建的這個 Windows Sandbox 實在是太乾淨了,每次啟動都要手動安裝許多工具才能開始使用,所以我打算用這篇文章記錄一下我會在啟動後執行的自動化命令。

... 繼續閱讀 ...

如何在 Windows 使用 Git 版控時可以區分檔案名稱大小寫

今天被問到一個關於 Git 版控的問題,同事提到我們有個網站專案的 Repo 裡面有個 *.svg 檔案,之前 git commit 的時候使用 helloWorld.svg 這樣的檔名,但是部署的時候發生錯誤,客戶告知必須用英文小寫的檔名才能正常運作,所以他就來修改一下檔案名稱,結果卻發現 Git 怎樣都無法修改檔名大小寫部分,問我該怎麼辦。這篇文章我就來跟各位說明這個問題的來龍去脈與解決方法。

... 繼續閱讀 ...

如何讓 OpenSSH for Windows 也能支援 Rsync 遠端加密連線傳輸

傳送大量檔案到遠端 Windows 電腦時,除了使用 SFTP 之外,其實也可以使用 Linux 知名的 rsync 命令來快速傳檔,不但傳輸過程可以透過 OpenSSH 加密,傳輸內容甚至於可以壓縮與進行差異比對。不過 Windows 要使用 Rsync 來傳檔真的比我想像中的難很多,我花了大量的時間搜尋解決方案無果,沒有一篇文章能用的,最後嘗試各種組合才被我找出一定能成功使用的方法。這篇文章看起來不長,但還真的花了不少時間研究,就馬上來看看 Windows 如何使用 Rsync 搭配 OpenSSH 來傳檔吧!

... 繼續閱讀 ...

如何在 Windows 安裝 Cygwin 的 SSHD 服務並正確使用 Rsync 同步檔案

我最近嘗試在 Windows 透過 Rsync 搭配 OpenSSH 備份檔案,結果怎樣都無法設定成功,直到今天才嘗試出一個可行的作法。雖然在 Windows 安裝 Cygwin + cygsshd 不是我心目中理想的解決方案,畢竟是開源且沒有技術支援的方案,出問題比較沒人可以救你,但這至少是一個可行方案。這篇文章將說明設定過程的完整步驟。

... 繼續閱讀 ...

如何在 Windows 架設高安全性的 SFTP (SSH File Transfer Protocol) 伺服器

延續的我前一天的 如何在 Windows 正確的安裝與設定 OpenSSH Server 服務 文章,在 Windows 平台架設 OpenSSH Server 搭配 SFTP 就能進行安全的檔案傳輸,防火牆也只需要開啟 Port 22 而已,清楚明瞭,系統配置預設也非常安全。這篇文章我就來分享如何對 SFTP 進行安全的設定,讓你在遠端檔案傳輸時能夠更加安全。

... 繼續閱讀 ...

如何在 Windows 正確的安裝與設定 OpenSSH Server 服務

我這幾年有替幾位客戶實現 Windows 平台的自動化作業,我認為 Windows 在遠端檔案傳輸方面,一直都沒有內建非常理想的解決方案。內建的方案不外乎是開一堆 Ports 且預設傳輸沒加密的 FTP 服務、不太安全的 WinRM (預設沒加密)、或是被大部分企業禁用的 SMB 協議。雖然加裝 TLS/SSL 憑證可以解決安全連線的問題,但是憑證的管理與配送,並不是所有企業都能做好,甚至門檻頗高。我認為在 Windows 平台最安全、最有效率的解決方案,還是提供 sshd 服務 (OpenSSH Server),搭配 SFTP 就能進行安全的檔案傳輸,這篇文章我就來分享如何在 Windows 正確安裝 OpenSSH Server 服務的所有步驟。

... 繼續閱讀 ...