在 Cloudflare、Nginx、Application Server 三層架構下,AP 收到的 IP 可能是 Cloudflare 節點的、Nginx 的 127.0.0.1、或使用者的真實 IP,搞混會讓 Rate Limit 和 access log 全部失準。本文圖解請求經過每一層時 X-Forwarded-For、X-Real-IP、CF-Connecting-IP 的變化,說明 Nginx real_ip 還原設定,並提供 Node.js、Python、Java、C# 取得真實 IP 的範例。
Cloudflare與Nginx反向代理|CF-Connecting-IP、X-Forwarded-For 取得真實IP
Nginx Rate Limit 限流原理與設定教學|burst、nodelay 圖解
API 被爬蟲打爆、登入頁被暴力嘗試、單一 IP 把頻寬吃光,這些是現代網站常見的麻煩,Nginx 內建的 limit_req 模組幾行設定就能擋下異常流量。本文從 Leaky Bucket 演算法的原理講起,搭配圖解逐一拆解 limit_req_zone 的 key、zone、rate 與 limit_req 的 burst、nodelay、delay 等參數,並比較三種常見模式的差異,最後給出實戰設定範例與 503 監控建議。
在Windows使用IIS、Apache、Nginx申請免費SSL/TLS憑證,自動從Let’s Encrypt更新
本文將教學如何在Windows上申請Let’s Encrypt的SSL/TLS憑證,讓網站擁有HTTPS連線的機制。有時候為了讓各種後端語言同時存在,會在Windows上先安裝Apache或Nginx網頁伺服器,再反向代理到伺服器上的PHP、ASP、Java、NodeJS、Django等AP Server。因此在Windows上使用IIS(Internet Information Server)、Apache、Nginx申請憑證的方法都包含在文章內,一起讓瀏覽器網址列上面顯示有鎖頭的HTTPS吧。
Nginx反向代理內部WordPress發生無限重新導向迴圈
“我的WordPress是在內部網路,由Nginx反向代理。但遇到一個問題是,Nginx反向代理到內部的WordPress時,會發生無限重新導向迴圈,之後又發生網站內http與https網址同時出現,在此介紹原因與解決方式。
整合Spring Boot、Nginx反向代理、Linux Systemd系統服務
我常用的一個場景是一台Linux底下有多個Spring Application,可以透過Linux system daemon控制他們,然後使用Nginx的反向代理產生唯一對外窗口,讓外界透過Nginx與Spring Application溝通。
在Nginx中拒絕不認識的Domain Name
Nginx 預設任何domain name都可以指向預設的網站,有時候我們可能不希望任何網域都能連上我們的網站,因此可以新增一個專門對應不明網域的設定檔,返回404或444。