跳到主要內容

Caddy Server - 比 Apache、Nginx 方便的網頁伺服器 (Web Server)、反向代理 (Reverse Proxy),自動產生 SSL 憑證,網站直接變 HTTPS



如果要架網頁伺服器 (Web Server) 大家第一個想到的可能是用 Apache 或近年來竄升的 Nginx,我並不是要說這兩個不好,實際上它們有更多細項可以設定,功能也非常強大,但要講便利性是永遠比不上 Caddy 的。Google 搜尋引擎的演算法會優先收錄 HTTPS 網站,換句話說現在的網站最好都要加上 SSL 憑證,而用 Caddy 來架站的話會內建這個功能,不需要任何的設定,它會自動幫你用 CertbotLet's Encrypt 發放憑證,等於只要網站一上線就自動會開啟 HTTPS。而且在其他方面的功能也都能滿足大多數使用者,如果還在考慮要用什麼架站,不妨試試看 Caddy,它會方便的超乎想像。

Caddy
官方網站 : https://caddyserver.com
GitHub : https://github.com/mholt/caddy


curl https://getcaddy.com | bash -s personal
在官網下載頁可以自行選擇系統平台插件 (非必要) 和憑證 (個人憑證是免費的),之後建議使用下方的 Bash 直接下載安裝。



不像 Apache 和 Nginx,Caddy 並沒有所謂的全預設定檔,你可以隨便在你想要的路徑建立一個「Caddyfile」然後就用這個檔案的設定運行 Caddy Server。


yourdomain.com {      # 填寫網域才會自動產生 SSL 憑證,localhost 就只會有 HTTP
root /home/www         # 網站根目錄
gzip                             # 網頁壓縮
    header /assets {       # 加入檔頭,指定 assets 路徑下
      Cache-Control "max-age=604800"   # 控制瀏覽器快取,壽命一週
    }
}
這是一個最標準的網頁伺服器設定範本,在官網可以看到其實根本只需要一行就能讓網頁成功上線,但還是建議加入 gzip 網頁壓縮、以及瀏覽器快取的部分。


proxy /api localhost:9005  # /api 的請求直接跳轉到本機 Port 9005 
建立 Proxy 也很簡單,只要一行就完成了。

proxy / web1.local:80 web2.local:90 web3.local:100
拿來做負載均衡也是可以。



caddy -conf 路徑/Caddyfile
建立完 Caddyfile 後就可以使用 -conf 參數指定檔案的位置然後運行伺服器了。






留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

吃光硬碟讀寫的大怪獸 - Superfetch 是什麼?可以關嗎?

Superfetch 是 Windows 內建的硬碟快取功能,它會預先將檔案讀取起來到 Ram 裡方便稍後做使用,所以常常在工作管理員內都可以看到 Superfetch 往往占掉了不少的硬碟使用量,那這樣的情形是好的嗎?其實理論上並不會有太大影響,畢竟 Superfetch 只是將等會要讀取的內容先預置在 Ram 中,如果不趁硬碟負載小的時候優先讀取,之後反而可能忙不過來呢。當然如果你是使用 SSD 的話可能會為使用壽命擔心, 高頻率的讀取可能加速固態硬碟老化,那在讀取速度原本就很快的 SSD 當然就相對的沒有必要開啟 Superfetch 了。 Superfetch 在電腦待機時吃掉大部分硬碟使用量是很常有的事。 要關閉也很簡單, Win+R > services.msc 打開「服務」,找到 Superfetch。 右鍵 > 內容,將它更改為「 已停用 」後確定即可。

鍵盤按鍵壞了怎麼辦?用 Sharpkeys 換一個鍵來用就好啦 (重新設定 / 配置鍵盤按鍵 / Key Mapping)

我有一個壞習慣就是很常按 Alt+Tab,有時候即使沒要跳畫面還是偶爾會手癢按個幾下,尤其 Alt 又是大拇指按的,可能我的大拇指特別有力所以最近把 Alt 真的按壞了,我是用青軸的機械式鍵盤,所以每個軸都是獨立的應該是可以更換,但如果是用薄膜式鍵盤呢?那可能只能整把換掉了, 或是交換一下鍵位拿一個平常沒在用的鍵頂替一下,也就是今天要介紹的「Sharpkeys」。 Sharpkeys 官方網站 :  http://www.randyrants.com/category/sharpkeys GitHub :  https://github.com/randyrants/sharpkeys 使用 Sharpkeys 會需要 .NET Framework 4.0,如果還沒有安裝的可以到 微軟官方 下載。 開啟 Sharpkeys 後點選 「Add」 ,左方是選擇 「被重新分配的鍵位」 ,右方是 「替代的鍵位」 ,你也可以按 Type Key 直接用打的讓系統偵測。 像我就做了兩個 Key Mapping,其實就是 Win 鍵和 Alt 鍵互換啦,設定完成後就按「Write to Registry」寫入註冊表, 然後重開機或重新登入就可以生效囉。