遊手好閒的石頭成
行於巷弄若於曠野,居於市井如於山巔。不知其何許人也。

我的程式源碼託管於 rocksources
rocksaying.tw
石頭閒語
部落格相簿
@tw_rocksaying

快報或告示

今天更新部落格一份文件後, github 發了一封 “Page build warning” 的提示信,信中說我的網站域名指向一個過期的 IP 位址。

The custom domain for your GitHub Pages site is pointed at an outdated IP address. You must update your site’s DNS records if you’d like it to be available via your custom domain. For more information, see https://help.github.com/en/articles/using-a-custom-domain-with-github-pages.

只是信中的連結文章並未提供真正有幫助的說明。所以我到 DNS 服務商 (我向中華電信註冊) 的管理頁面查看,得知我原本登記的 IP 位址是 192.30.252.153 。再用這個 IP 位址配上 github 關鍵字去 google ,找到真正有用的文章: Troubleshooting custom domains

If you’re using an A record that points to 192.30.252.153 or 192.30.252.154, you’ll need to update your DNS settings for your site to be available over HTTPS or served with a Content Delivery Network.

重點是原本登記的 IP 位址是由 CDN 服務商提供。而 CDN 服務商變更了提供內容的 IP 位址,所以我在 DNS 代管服務中登記的 IP 位址也必須更新。

可以用 digping 指令去查「github用戶名稱.github.io」的新 IP 位址。我托管於 Github Page 的部落格實際分配的網域名稱是 rocksaying.github.io 。查詢指令結果如下所示:

$ dig rocksaying.github.io

;; ANSWER SECTION:
rocksaying.github.io.   3599    IN      A       185.199.109.153
rocksaying.github.io.   3599    IN      A       185.199.111.153
rocksaying.github.io.   3599    IN      A       185.199.108.153
rocksaying.github.io.   3599    IN      A       185.199.110.153

或者用 ping rocksaying.github.io 也可。

dig 查詢結果的第一個 IP 位址就是我的第一順位 IP 位址。然後再到 DNS 服務商的代管頁面,將 A 類型的 IP 從過期的 192.30.252.153 改成 185.199.109.153 。提交設置後,會提示24小時內才會生效。

.NET Core 筆記 - ASP.NET Core 應用程式托管於IIS服務

基礎知識

首先,請參考微軟的 Host ASP.NET Core on Windows with IIS 。但這篇文章資訊(廢話)很多,不容易找到重點。

ASP.NET Core 內建且默認用 Kestrel HTTP 服務模組。本文以此為準。

由於 ASP.NET Core 應用程式啟動時自帶 Kestrel HTTP 服務模組,本身不需要搭配 IIS 亦可獨立運作。但這種作法偏向微服務形式,而且負載分擔能力不如專業的 Nginx, Apache 或 IIS 。若你需要在一台主機上提供多個不同的 ASP.NET Core 應用程式服務,必須在 Kestrel 之前再加一道 HTTP 服務器,利用反向代理機制 (reverse proxy) ,溝通 Kestrel 與瀏覽器之間的通訊。

IIS 服務主機必須安裝 .NET Core Runtime & Hosting Bundle for Windows 。請到 .NET Core 網站下載

.NET Core 筆記 - async method and sync code

我用 .NET Core 實作一個呼叫 RESTful API 的簡單程式時,碰到一個小麻煩。 .NET Core 的 HttpClient 類提供的方法都是非同步方法 (async method)。 但我是在同步形式的程式碼用到 HttpClient 。我不想回頭去改程式碼加上 async Task 的宣告。所以我得要呼叫非同步方法,但用同步形式程式碼取得結果。

.NET Core 筆記 - ASP.NET Core appsettings.json 與執行環境

一般進行程式開發工作時,至少會分成兩個階段,或說兩個工作會期。開發期/Development/Debug 和 發布期/Production/Release 。並針對這兩個階段,設定不同的執行環境。

例如設定開發期執行環境的資料庫來源是 SQLite ,而發布期執行環境則用客戶指定的資料庫來源 SQL Server 。如此一來,開發人員僅須切換組態檔,就能改變程式的執行環境與參數。方便應付開發、測試、正式部署等工作。

ASP.NET Core 選擇用 DevelopmentProduction 這兩個稱呼區分兩階段。

更新 Github Page 自訂網域名稱的 IP

今天更新部落格一份文件後, github 發了一封 “Page build warning” 的提示信,信中說我的網站域名指向一個過期的 IP 位址。

The custom domain for your GitHub Pages site is pointed at an outdated IP address. You must update your site’s DNS records if you’d like it to be available via your custom domain. For more information, see https://help.github.com/en/articles/using-a-custom-domain-with-github-pages.

Mosquitto 設置安全性 Websocket (wss)

我早先在網頁前端使用 MQTT 處理訊息時,大多是在內網或非加密性網站。所以我用 mosquitte 架設的 MQTT 服務只啟用了一般性的 ws 協定。但近日開發一項基於 PWA 的網站應用 (Web App) 時,看到 mqtt 連線失敗的訊息,才知道處於 https 狀態的網頁, mqtt 也必須走安全性的 wss 連線。

所以我又花了不少時間,將公司內的 mosquitto 服務設置加進 wss 協定。本文也會特別說明 mosquitto 在 Windows 平台上設置 wss 的注意事項。事實上,我大部份時間就是耗在 Windows 平台上頭。

分頁瀏覽
Programming
電腦技術
經濟學/奧地利經濟學派
閱讀隨筆
哲學/老子
休閒生活
快報記事