星期五, 20 6 月, 2025
No Result
View All Result
育心文具行

育心文具行

  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我
育心文具行
  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我
No Result
View All Result
育心文具行
Home 筆記x備忘

使用 Nginx 設定通過 Cloudflare 的真實 IP 與只允許 Cloudflare IP 來的流量。

2024-08-07
in 筆記x備忘
Reading Time:3 mins read
A A
0

一次講兩件事,都是和 Cloudflare 的 IP 有關。

首先是在Ngnix 中,設定只允許 Cloudflare IP 來的流量。幾點注意:

  1. 需確認 Nginx 設定的網域有沒有通過 Cloudflare 的 Proxy,也就是看 DNS 設定中,橘色的雲有沒有亮起。
  2. 一樣的設定可以套用在其他有 Proxy/VPN/CDN 等操作上。組合拳是:流量走我的,其他檔下來。
  3. 同樣的組合拳也可以設定在單一允許 ip 的 api service 上面,不過請注意邏輯層與系統層的拆分,別被自己的 code 搞死了。
  4. Cloudflare 的 ips 是會更新的,請參考這裡。
  5. 如果你有用 crontab 執行 url 的話記得也要把 allow 補進去。例如: allow 127.0.0.1; 或是改成 cli 的操作(推薦)。
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/13;
allow 104.24.0.0/14;
allow 172.64.0.0/13;
allow 131.0.72.0/22;

allow 2400:cb00::/32;
allow 2606:4700::/32;
allow 2803:f800::/32;
allow 2405:b500::/32;
allow 2405:8100::/32;
allow 2a06:98c0::/29;
allow 2c0f:f248::/32;

deny all; # deny all remaining ips

再來是設定讓網站在通過 Cloudflare 之後,可以獲取到真實 ip 的設定,這部分我是抄網路的,有些覺得怪的地方,如果有理解錯誤還煩請指正。

  1. set_real_ip_from 是指信任的 proxy ip 所以要設定為 cloudflare 的 ip 段,標示這些來源的 ip 才能正確取得真實的 client ip。
  2. real_ip_header 是修改真實 ip 的 header 字段,默認是 X-Real-IP。改為 CF-Connecting-IP 是 cloudflare 在邊緣到您的來源 Web 伺服器的流量上傳送的標頭。請參考 Cloudflare 文件。
  3. 上面提到的流量來源限制和 set_real_ip_from 的設置會衝突,不能一起設置 🫠
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;

set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;

#use any of the following two

real_ip_header CF-Connecting-IP;
#real_ip_header X-Forwarded-For; # 滿多人用這個,不過 cf 有自己比較安全的標頭。

同場加映 Cloudflare 的 ips 清單,更新頻率不高,不過設定上幾個注意:

  1. 相關 ips 的設定儘量統一管理。
  2. 有提供 api 可呼叫,參考這裡,如果要做自動化的人可以來弄弄。

IP Ranges

www.cloudflare.com

This page is intended to be the definitive source of Cloudflare’s current IP ranges.

Tags: allowcloudflaredenyipnginx流量真實 ip
Share22Tweet14
Previous Post

WordPress 不用外掛置換網域

Next Post

Mac 使用 Nodejs 的管理工具 n 來切換版本

Related Posts

筆記x備忘

實作 js 函式庫包裝為 API 提供給後端呼叫

最近在想有滿多 js 實作資料處理的函式...

2025-02-04
100
筆記x備忘

如何在網站中整合 Google reCAPTCHA v3

關於 Google reCAPTCHA ...

2024-10-22
100
筆記x備忘

使用 Nginx 基本認證保護動態內容。以一個舊網站為例。

最近處理一個舊網站,因為是 demo 用...

2024-10-27
100
筆記x備忘

使用 Cloudflare Workers 處理前端跨域問題

在 Web Application 走前...

2024-09-01
100
筆記x備忘

Nginx 中同一個網域設定不同應用程式/目錄

技能點還沒有點太多的領域一點點成果就會獲...

2024-08-22
100
筆記x備忘

Cloudflare Workers 服務介紹

如果有使用 cloudflare 服務,...

2022-10-17
100
Load More
Next Post

Mac 使用 Nodejs 的管理工具 n 來切換版本

Nginx 中同一個網域設定不同應用程式/目錄

使用 Cloudflare Workers 處理前端跨域問題

全站搜尋

No Result
View All Result

關於我

育心文具行

Jerry Lin

程式設計師

育心文具行是一家文具店,老闆的小兒子是一個設計師,職業是設計程式,興趣是設計人,倒是還沒有實作的機會。
--
所有的相遇都不是巧合。
在廣告公司待了三年有兩年多在做內容產品,離職後繼續在內容產業走了四年多,最後選則離開台灣的公司體制在家 SOHO ,碰上了 2020 年疫情才知道原來自己這是走在時代的潮流尖端。 感謝許多老闆和貴人相助,至今目前尚能存活,在台北街頭努力著。

近期文章

  • 於 MacOS 中,整合自然語言,自動化添加行事曆事件
  • 使用 deepwiki-open 針對程式碼產生 WIKI
  • 使用 Tailwind CLI 快速建立靜態 CSS 檔的基本步驟
  • Visual Studio Code 的 PHP CS Fixer 設定
  • MacOS 添加本地伺服器的 DNS

分類

  • 心得x體驗 (45)
  • 筆記x備忘 (77)
  • 閒談x雜記 (13)

贊助買咖啡

Facebook Instagram RSS

標籤

ai android cloudflare flutter git ios javascript linode linux MAC macos mis nginx php plugin QBQ!問題背後的問題 server work sublime sublime text vps vue.js vue3 What if What If? 如果這樣,會怎樣? wordpress 前端 原則 原子習慣 團隊,從傳球開始 團隊,從傳球開始:五百年都難以超越的 UCLA 傳奇教練伍登培養優越人才和團隊的領導心法 壓力測試 外掛 如果這樣,會怎樣?:胡思亂想的搞怪趣問 正經認真的科學妙答 心得 情緒 活動心得 灰階思考 約翰‧漢尼斯 股癌 自慢10 自慢10:18項修練 記錄 謝孟恭 讀書心得 這一生,你想留下什麼?

文章分類

  • 心得x體驗 (45)
  • 筆記x備忘 (77)
  • 閒談x雜記 (13)

近期文章

  • 於 MacOS 中,整合自然語言,自動化添加行事曆事件
  • 使用 deepwiki-open 針對程式碼產生 WIKI
  • 使用 Tailwind CLI 快速建立靜態 CSS 檔的基本步驟
  • Visual Studio Code 的 PHP CS Fixer 設定
  • MacOS 添加本地伺服器的 DNS

近期留言

  • 「Bolin Lai」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言
  • 「Jerry Lin」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言
  • 「JCL」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言

文章月曆

2025 年 6 月
日 一 二 三 四 五 六
1234567
891011121314
15161718192021
22232425262728
2930  
« 5 月    

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.

No Result
View All Result
  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.