Nginx中使用NodeJS時更新Letsencrypt SSL

Nginx中使用NodeJS時更新Letsencrypt SSL

Letsencrypt

自從Google提倡每個網站需要使用SSL為最低要求後,我也少不免申請SSL服務,在尋找的過程中發現了Letsencrypt。他們是提供免費的SSL認証機構,比較起一般免費試用SSL的公司比較起來更可靠,單看他們的Major Sponsors中有Google Facebook等大公司支持,已經是信心保証。

安裝

網上提供有不少安裝方法,基本上都不太難,我就使用官方建議的Certbot來進行安裝

$ sudo apt-get install letsencrypt

簡單以apt-get進行安裝

申請SSL Cert

最重要的部份了,整個申請過程也是可以用指令進行,非常方便的。
e.g. 我要申請的是256pages.com為例

$ letsencrypt certonly --webroot -w /var/www/256pages.com/ -d 256pages.com
  • certonly 是申請新Cert
  • webroot 是最得方法,還可用standalone但不好用,都建議用webroot
  • -w /var/www/256pages.com/ 是指你檔案的位置
  • -d 256pages.com 是你的域名

如果有子網域都可以用-d新增上去

$ letsencrypt certonly --webroot -w /var/www/256pages.com/ -d 256pages.com -d www.256pages.com -d blog.256pages.com

如果有多個網域可以用-w-d的組合加上去

$ letsencrypt certonly --webroot -w /var/www/256pages.com/ -d 256pages.com -d www.256pages.com -d blog.256pages.com -w /var/www/nys-hk.com/ -d nys-hk.com

然後就要確定一些條款

ACME Challenge

第一個問題遇到就是他要通過一個ACME Challenge,ACME就是Automatic Certificate Management Environment的縮寫,你把他當作申請一張SSL Cert的認証動作,畢竟是免費的SSL,用Nginx的話只要在Server setting中加入這個資料夾的通過權限

server {
        ...
        location ~ /.well-known {
            allow all;
        }
        ...
}

還要在之前指定的網址根目標新增資料夾

$ mkdir -p /var/www/.well-known/amce-challenge

但是第二個問題來了,NodeJS不是依序放在/var/www/中就會自動運作,頁面跟資料夾也不是真實的存在。

所以指定一個資料夾來通過Challenge

server {
  listen 80;
  listen [::]:80;
  server_name  256pages.com *.256pages.com;
  location ~ /.well-known/acme-challenge/ {
     root /var/www/256pages.com/;    
     default_type "text/plain";
     allow all;
   }
}

這樣就可以順利通過了

更新

之後用renew --dry-run --agree-tos指令可以測試更新,letsencrypt的SSL有90日使用期,不過申請未夠60日前,每天最多可以取得5次新的SSL,所以不用常常試哦

確定是而要更新後使用renew更新

$ letsencrypt renew

Read more

Unity AI Assistant 2.7.0 將不再支援 MCP 連接

Unity AI Assistant 2.7.0 將不再支援 MCP 連接

相信有不少人用 Unity AI MCP 來連接 Claude Code / Codex 等 AI 工具進行開發,近日隨著 Unity AI 進入公測,Unity 官方 Package com.unity.ai.assistant 亦升級到 v2.7.0-pre.2 。這個新版本的 Unity AI Assistant 在 Unity MCP Server 上加上了限制,Connected Clients limit 在 0 個 direct connection(以前是 Unlimited),就是不讓開發者使用其他 AI 工具來支援開發。 官方也有說明可以怎樣做,

Game Engine 的選擇

Game Engine 的選擇

在前陣子在決定寫 game 的期間,我試用了三大主流 Game Engine 來實作 demo,現在比較一下 Unreal,Unity 及 Godot 適合什麼開發者。 自我定位 在開始選擇前,我首先要確定自己是什麼開發者,以什麼角度去選擇 Game Engine。 * 首先我是獨立開發者,就是一個人會負責所有東西,繪圖設計,故事劇情,程式開發,宣傳銷售,後續經營,所以簡單很重要。 * 我使用 Macbook Pro M1 來開發,由於我沒有 desktop,單靠效能有限的主機來開發,所以效能夠不夠對我來說也是很重要。 * 遊戲平台,我的初期目標是 Steam/Andriod/iOS,如果有成果才會推向各大主機,雖然三大 Game Engine 都支持多平台輸出,但實際上調查後發現還是有一些限制,我會在下面解釋。 * 遊戲類型,