發表文章

目前顯示的是有「Ubuntu」標籤的文章

Ubuntu ModSecurity WAF(Nginx 應用程式防火牆 Open Source 解決方案)

圖片
先前  Windows ModSecurity WAF 這篇文章有說明,什麼是 WAF,以及如何在 IIS 上面安裝 WAF,這篇我要記錄一下如何在 Ubuntu + Nginx 上安裝 WAF 模組。 安裝 ModSecurity 安裝必要套件 LibModSecurity,或者可以參考選擇自行建置,底下參考網站有很多自行建置的方法。 sudo apt-get install libmodsecurity3 # Ubuntu 下載與已安裝的 nginx 相同版本的 Source Code ,並且壓縮。 $ nginx -v # 1.18.0 $ wget http://nginx.org/download/nginx-1.18.0.tar.gz $ tar zxvf nginx-1.18.0.tar.gz $ rm nginx-1.18.0.tar.gz 下載 ModSecurity/Nginx 連接器。 git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git 設置和建置 ModSecurity 動態模組,成功建置後會產生一個 ngx_http_modsecurity_module.so 檔案到 ~/nginx-1.18.0/objs 目錄底下。 $ cd ~/nginx-1.18.0 $ ./configure --with-compat --add-dynamic-module=../ModSecurity-nginx x $ make modules

Nginx 使用 Let's Encrypt (以 Ubuntu 22.04 為例)

圖片
本篇紀錄 Nginx 上面掛載 SSL 憑證的步驟,相關說明如下。 安裝 Certbot for nginx 使用  站台對應的 Server 必須事先對應好,這裡不在說明,請自行參考 這篇 的說明。 因為在測試環境上,沒有辦法開放 80 & 443 Port,所以這邊先使用 萬用子網域憑證 ,執行底下的程式碼, --manual 參數的關係,接下來的命令都會使用互動的方式來進行。  執行完上面那段語法會跳出 dns-01  challenge,並提供一個值,請拿這個值到 DNS 後台進行設定。

[開發環境] 安裝 Nginx 並設定對應不同網域的站台 (以 Ubuntu 22.04 為例)

圖片
使用 APT 進行安裝 Nginx 更新 Ubuntu 系統的 apt 版本。 sudo apt update 查詢 nginx  官網提供可安裝的版本。 apt-cache madison nginx 安裝指定的版本,系統應該會詢問是否進續安裝,請輸入 y,並按照指示進行後續的動作,預設安裝完畢後,服務應該就已經啟動了。 sudo apt install nginx=1.18.0-6ubuntu14.4 確認 nginx 服務是否有在運行,若看到底下的畫面代表已啟動成功。 systemctl status nginx

在 Ubuntu 20.04 上安裝 Azure Devops Agent 建置環境

圖片
前言 Azure DevOps Service 是微軟提供的一個集成式服務,用於規劃、協作、建置和部署軟體,它提供了一整套功能,包括版本控制、工作項追蹤、持續整合(CI)、持續部署(CD)、測試自動化、部署管道等等工具。 但若你要使用 Azure Pipelines 建置程式碼或部署程式,則需要至少一個代理程式,微軟提供的 Azure Agent 提供一個每個月可執行1,800 分鐘數的 CI/CD 免費版本,對於個人開發者來說,基本上已經綽綽有餘了,可以說是很佛心的服務,至少對我這樣的重度使用者來說,這個配額也足夠使用,除非你持續大量提交程式碼,才可能超過這個限制。 由於公司政策的限制,我的公司決定使用地端版的 Azure DevOps Server,但這意味著我需要建立自己的持續整合 (CI) 建置環境,一開始因為是使用微軟的服務,因此很自然的選擇了微軟的作業系統當作 Agent Server。 然而,每次前端環境的建置至少需要 15 分鐘以上,其中大部分時間都花在執行 npm install 上。直到有一天,我讀到保哥分享的文章,發現使用 Ubuntu 的 Agent 環境可以極大地加速建置時間,我花了點時間在雲端環境進行了測試,結果令驚為天人,於是我只好默默的將公司地端的 Agent 也改為 Ubuntu 版本來提高建置效率,這篇文章我要記錄一下設定環境的過程。