在公用同一公網IP和端口的K8S環境中,不同域名實現不同訪問需求的解決方案

目錄

1. 訪問需求

2. 解決方案

3. 具體配置

3.1 允許互聯網訪問的域名(a.lmzf.com)

3.2 需IP白名單訪問的域名(b.lmzf.com)

3.3 關鍵參數說明

3.4 測試驗證


1. 訪問需求

在騰訊云TKE環境中,多個域名解析到同一負載均衡器(CLB),域名共用一端口(443),對域名A(a.lmzf.com允許互聯網訪問,對域名B(b.lmzf.com限制指定IP訪問

2. 解決方案

  • 配置點:域名訪問控制 (應用層)
  • 實現方式:Ingress Annotations

3. 具體配置

為需要不同訪問策略的域名創建獨立的Ingress資源。

3.1 允許互聯網訪問的域名(a.lmzf.com)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-publicannotations:kubernetes.io/ingress.class: nginx # 或使用的其他Ingress Controller
spec:rules:- host: a.lmzf.com # 互聯網允許訪問的域名http:paths:- path: /pathType: Prefixbackend:service:name: your-service-a port:number: 443

3.2 需IP白名單訪問的域名(b.lmzf.com)

創建另一個Ingress,并使用白名單注解。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-restrictedannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/whitelist-source-range: "5.6.7.8/32, 192.168.1.100/24" # 允許的IP段
spec:rules:- host: b.lmzf.com # 需加白訪問的域名http:paths:- path: /pathType: Prefixbackend:service:name: your-service-bport:number: 443

3.3 關鍵參數說明

  • nginx.ingress.kubernetes.io/whitelist-source-range:此注解用于設置允許訪問的源IP地址段(CIDR格式),多個IP段用英文逗號隔開。

  • kubernetes.io/ingress.class:指定處理此Ingress規則的Controller,例如nginxqcloud(本文騰訊云CLB)等。

3.4 測試驗證

配置完成后,務必進行驗證:

  1. 從白名單IP訪問:

    • 訪問?a.lmzf.com?應成功。

    • 訪問?b.lmzf.com?應成功。

  2. 從非白名單IP訪問:

    • 訪問?a.lmzf.com?應成功。

    • 訪問?b.lmzf.com?應被拒絕(返回?403 Forbidden?或連接失敗)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/922078.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/922078.shtml
英文地址,請注明出處:http://en.pswp.cn/news/922078.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FlinkCDC 達夢數據庫實時同步

一、Flink部署 1.1、JAVA環境 vi /etc/profile export JAVA_HOME/data/flinkcdc/jdk1.8.0_181 export CLASSPATH$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH$JAVA_HOME/bin:$PATHsource /etc/profilevi ~/.bash_profileexport FLINK_HOME/data/flinkcdc/fli…

Eip開源主站EIPScanner在Linux上的調試記錄(二 多生產者連接)

目錄 一、背景 二、可行性驗證 三、開發調試 一、背景 在一般場景下,只需一路IO連接,但稍微復雜的場景,就需要不同通訊周期的連接,這就需要有多組IO連接。 而大于一組的連接調試方法是一樣的,因此主要解決2組連接的…

Oracle APEX 利用卡片實現翻轉(方法二)

目錄 0. 以 Oracle 的標準示例表 EMP 為例,實現卡片翻轉 1. 創建卡片區域 (Cards Region) 2. 定義卡片的 HTML 結構 3. 添加 CSS 實現樣式和翻轉動畫 4. 創建動態操作觸發翻轉 5. 運行效果 0. 以 Oracle 的標準示例表 EMP 為例,實現卡片翻轉 目標如…

低代碼拖拽實現與bpmn-js詳解

低代碼平臺中的可視化拖拽功能是其核心魅力所在,它讓構建應用變得像搭積木一樣直觀。下面我將為你梳理其實現原理,并詳細介紹 vue-draggable 這個常用工具。 🧱 一、核心架構:三大區域與數據驅動 低代碼編輯器界面通常分為三個核心…

【科研繪圖系列】R語言繪制模型預測與數據可視化

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹 加載R包 數據下載 函數 導入數據 數據預處理 畫圖 總結 系統信息 介紹 本文介紹了一種利用R語言進行海洋微生物群落動態分析的方法,該方法通過構建多個統計模型來預測不同環境…

TODO的面試(dw三面、sqb二面、ks二面)

得物的前端三面(通常是技術終面)會深入考察你的技術深度、項目經驗、解決問題的思路以及職業素養。下面我結合搜索結果,為你梳理一份得物前端三面的常問問題及詳解,希望能助你一臂之力。 🧠 得物前端三面常問問題及詳解…

開發 PHP 擴展新途徑 通過 FrankenPHP 用 Go 語言編寫 PHP 擴展

通過 FrankenPHP 用 Go 語言編寫 PHP 擴展 在 PHPVerse 2025 大會上(JetBrains 為紀念 PHP 語言 30 周年而組織的會議),FrankenPHP 開發者 Kvin Dunglas 做了一個開創性的宣布:通過 FrankenPHP,可以使用 Go 語言創建 …

完美解決:應用版本更新,增加字段導致 Redis 舊數據反序列化報錯

完美解決:應用版本更新,增加字段導致 Redis 舊數據反序列化報錯 前言 在敏捷開發和快速迭代的今天,我們經常需要為現有的業務模型增加新的字段。但一個看似簡單的操作,卻可能給正在穩定運行的系統埋下“地雷”。 一個典型的場景是…

66-python中的文件操作

1. 文件的編碼 UTF-8 GBK GB2312 Big5 GB18030 2. 文件讀取 文件操作步驟: 打開文件 讀\寫文件 關閉文件 open(name,mode,encoding) name:文件名字符串 “D:/haha.txt” mode: 只讀、寫入、追加 r:以只讀方式打開 w: 只用于寫 a :用于追加 encoding:編碼方式 # -*- coding: utf…

FPGA實例源代碼集錦:27個實戰項目

本文還有配套的精品資源,點擊獲取 簡介:FPGA是一種可編程邏輯器件,允許用戶根據需求配置硬件功能。本壓縮包提供27個不同的FPGA應用實例源代碼,旨在幫助初學者深入學習FPGA設計,并為專業工程師提供靈感。內容涵蓋了…

基于 Vue+Mapbox 的智慧礦山可視化功能的技術拆解

01、項目背景 在全球礦業加速向 “高端化、智能化、綠色化” 轉型的浪潮下,傳統礦業面臨的深地開采難題、效率瓶頸與安全隱患日益凸顯。 在礦業轉型的迫切需求與政策、技術支撐的背景下依托 GIS 技術,開展了 “中國智礦” GIS 開發項目,旨在…

進程狀態(Linux)

進程狀態Linux進程狀態Linux進程狀態進程描述R運行狀態S睡眠狀態D磁盤休眠狀態T停止狀態t被追蹤狀態(調試狀態)X死亡狀態Z僵死狀態其實大致也就可以分為三種運行,阻塞,掛起。運行狀態每個cpu里都有一個運行隊列,進程在運行隊列里,…

物聯網領域中PHP框架的最佳選擇有哪些?

物聯網(IoT)作為近年來快速發展的技術領域,已經滲透到智能家居、工業自動化、智慧城市等方方面面。作為Web開發中廣泛使用的語言,PHP憑借其易學易用、開發效率高和生態豐富的特點,也在物聯網領域找到了用武之地。 本文…

java反射(詳細教程)

我們平常創建類的實例并調用類中成員需要建立在一個前提下,就是已經知道類名和類中成員的信息,靈活性大大降低。甚至在一些項目中還需要修改源碼來滿足使用條件,大大降低了操作的靈活性。Java 反射(Reflection)是 Java…

消息隊列-初識kafka

優缺點 消息隊列的優點: 實現系統解耦: :::color5 系統解耦解釋 有 MQ 時是 “服務 A 發消息到隊列,其他服務從隊列拿消息,新增服務接隊列就行”;無 MQ 時是 “服務 A 直接調其他服務的接口 / 依賴,新增 / …

實踐《數字圖像處理》之Canny邊緣檢測、霍夫變換與主動二值化處理在短線段清除應用中的實踐

在最近的圖像處理項目中,其中一個環節:圖片中大量短線(不是噪聲),需要在下一步處理前進行清除。在確定具體實現時,碰到了Canny邊緣檢測、霍夫變換與主動二值化處理的辯證使用,相關邏輯從圖片灰度…

vue3與ue5通信-工具類

工具 ue5-simple.js /*** UE5 通信工具* 兩個核心方法:發送消息和接收消息*/// 確保全局對象存在 if (typeof window ! undefined) {window.ue window.ue || {};window.ue.interface window.ue.interface || {}; }/*** 生成 UUID*/ function generateUUID() {retu…

在kotlin中如何使用像java中的static

在 Kotlin 中,沒有直接的 static 關鍵字,但有幾種等效的方式來實現 Java 中靜態成員的功能: 1. 伴生對象 (Companion Object) - 最常用 class MyClass {companion object {// 靜態常量const val STATIC_CONSTANT "constant value"…

如何在 Spring Boot 中指定不同的配置文件?

介紹 Spring Boot 提供了多種方式來管理和加載配置文件,特別是在多環境配置下,比如開發、測試和生產環境。通過指定不同的配置文件,可以靈活地調整應用程序的行為,以適應不同的需求。本文將介紹在 Spring Boot 中如何指定使用不同…

在centOS源碼編譯方式安裝MySQL5.7

一、前言 在生產環境中部署數據庫時,很多人會選擇直接使用 yum/apt 包管理器 安裝 MySQL,這樣簡單快速,但缺點是版本受限,靈活性不足。對于需要指定版本、啟用特定編譯參數或優化的場景,源碼編譯安裝 MySQL 就顯得非常…