跳到主要內容

Nginx Reverse Proxy 自訂錯誤頁面

今天收到長官指派任務,由於資安要求,在網站受到DDoS攻擊或故障時必須顯示靜態錯誤頁面,而不是IIS的錯誤訊息。

我測試後發現在這個ASP.Net網站會自行處理 500 Server Error,再加上 IIS 預設錯誤與 IIS 無回應等都需要處理,故在上一層的Nginx Reverse Proxy裡設定預設錯誤頁面為較佳處理方式。

在Nginx主機裡  nginx.conf 設定:

40x錯誤表示 page not found, 50x 錯誤是Server Error; 設定中 /index.html 是預設首頁, /50x.html 是靜態錯誤頁面。

在重導向的目錄需重新設定 error_page,並且要強制啟用 proxy_intercept_errors on;


如此一來便可在無需人為介入的情況下,在對外網站SageFrame發生錯誤或因DDoS攻擊等反應timeout時,會自動導向到預設的靜態頁面 50x.html 。

參考資料:

題外話,這個錯誤畫面我是用 Bing 自動產生 HTML,之後嫌單調又請Bing產生可愛的維護中圖片,效果非常滿意;看來我被AI取代的日子不遠了。



留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?