項目設置內網 IP 訪問實現方案

? ? ? ? 在我們平常的開發工作中,項目開發、測試完成后進行部署上線。比如電商網站、新聞網站、社交網站等,通常對訪問不會進行限制。但是像企業內部網站、內部管理系統等,這種系統一般都需要限制訪問,比如內網才能訪問等。那么一個網站應該如何限制特定的 IP 訪問呢?今天我們來總結下實現的幾種方法。

? ? ? 一:通過 nginx 配置

? ? ? ? 1:可以在 nginx.conf 中設置 IP 訪問限制,示例如下:

user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;access_log  /var/log/nginx/access.log  main;sendfile        on;server {listen 80;server_name localhost;# 只允許某個特定 IP 地址訪問allow 192.168.1.1;deny all;# 允許訪問的 IP 列表,這個命令表示允許的 IP 范圍為 192.168.1.0 到 192.168.1.254allow 192.168.1.0/24;deny all;# 拒絕某個特定 IP 訪問deny 192.168.1.1;allow all;# 拒絕該 IP 列表訪問 deny 192.168.1.0/24;allow all;location / {root /usr/share/nginx/html;index index.html index.htm;}}
}

? ? ? ? 2:當前訪問的 IP 地址在 nginx 配置允許的 IP 列表中時,訪問頁面如下:

? ? ? ? 3:當前訪問的 IP 地址不在 nginx 配置允許的 IP 列表中時,會看到訪問拒絕,訪問頁面如下:

? ? ? ? 4:總結

? ? ? ? 設置允許訪問的 IP:

? ? ? ? (1):只允許某個特定 IP 地址訪問,如表示只有 IP 地址為?192.168.1.1 能訪問,示例如下:

allow 192.168.1.1;
deny all;

????????(2):允許訪問的?IP 列表,如表示 192.168.1.0 到 192.168.1.254 的 IP 地址能訪問,示例如下:

allow 192.168.1.0/24;
deny all;

? ? ? ? 設置不能訪問的 IP:

????????(1):設置某個特定 IP 地址訪問,如表示只有 IP 地址為?192.168.1.1 不能訪問,示例如下:

deny 192.168.1.1;
allow all;

????????(2):不允許訪問的 IP 列表,如表示 192.168.1.0 到 192.168.1.254 的 IP 地址不能訪問,示例如下:

deny 192.168.1.0/24;
allow all;

? ? ?二:通過防火墻設置

? ? ? ? 在 Centos 6 及之前版本,iptables?作為防火墻管理工具,在 Centos 7 及之后版本,使用?firewalld 作為防火墻管理工具。

? ? ?1:使用?iptables?限制 IP 訪問

? ? ? ? 設置允許訪問的 IP:

? ? ? ? (1):允許某個特定 IP 訪問,示例如下:

# 只允許 192.168.1.1 能訪問
iptables -A INPUT -s 192.168.1.1 -j ACCEPT# 保存規則命令
service iptables save

? ? ? ? (2):允許訪問的?IP 段,示例如下:

# 允許 192.168.1.0 - 192.168.1.254 能訪問
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT# 保存規則命令
service iptables save

? ? ? ? 設置不能訪問的 IP

????????(1):不允許某個特定 IP 訪問,示例如下:

# 不允許 192.168.1.1 訪問
iptables -A INPUT -s 192.168.1.1 -j DROP# 保存規則命令
service iptables save

???????? (2):不允許訪問的 IP 段,示例如下:

# 不允許 192.168.1.0 - 192.168.1.254 訪問
iptables -A INPUT -s 192.168.1.0/24 -j DROP# 保存規則命令
service iptables save

? ? ? 2:使用?firewalld?限制 IP 訪問

????????設置允許訪問的 IP:

? ? ? ? (1):允許某個特定 IP 訪問,示例如下:

# 只允許 192.168.1.1 能訪問
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" accept'# 重新加載防火墻
firewall-cmd --reload

? ? ? ? (2):允許訪問的?IP 段,示例如下:

# 允許 192.168.1.0 - 192.168.1.254 能訪問
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'# 重新加載防火墻
firewall-cmd --reload

? ? ? ? 設置不能訪問的 IP:

????????(1):不允許某個特定 IP 訪問,示例如下:

# 不允許 192.168.1.1 訪問
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" reject'# 重新加載防火墻
firewall-cmd --reload

???????? (2):不允許訪問的 IP 段,示例如下:

# 不允許 192.168.1.0 - 192.168.1.254 訪問
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" reject'# 重新加載防火墻
firewall-cmd --reload

? ? ?三:總結

? ? ? ? 以上為常見的設置服務內網訪問的方法。可以通過 nginx 配置或者防火墻設置。通過 nginx 實現修改 nginx.conf 配置文件即可。通過防火墻實現,在 Centos 6 及以前版本使用 iptables 作為防火墻,在 Centos 7 版本及以后使用 firewall 作為防火墻。可以設置允許某個 IP 訪問、允許某個 IP 段(如 192.168.1.0/24 即表示 192.168.1.0 - 192.168.1.254)訪問、設置不允許某個 IP 訪問、不允許某個 IP 段訪問。如果需要根據 URL 路徑實現精準的訪問控制,推薦使用 nginx。如果是網絡層對訪問 IP 或端口的限制,推薦使用防火墻。

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

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

相關文章

elf_loader:一個使用Rust編寫的ELF加載器

本文介紹一個使用Rust實現的ELF加載器。 下面是elf_loader的倉庫鏈接: github: https://github.com/weizhiao/elf_loaderhttps://github.com/weizhiao/elf_loader crates.io: https://crates.io/crates/elf_loaderhttps://crates.io/cra…

數據庫驅動免費下載(Oracle、Mysql、達夢、Postgresql)

數據庫驅動找起來好麻煩,我整理到了一起,需要的朋友免費下載:驅動下載 目前收錄了Oracle、Mysql、達夢、Postgresql的數據庫驅動的多個版本,后續可能會分享更多。

對接扣子雙向流式 TTS Demo

Web端對接Demo <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><title>TTS 測試</title> </head><body><h1>TTS 測試頁面</h1><textarea id"textInput" rows&…

科普:“git“與“github“

Git與GitHub的關系可以理解為&#xff1a;Git是一種軟件工具&#xff0c;而GitHub則是一個在線平臺&#xff0c;它們是“一家子”。二者的關聯最直接體現在你通過Git在GitHub倉庫中clone軟件包到你的機器中來。 具體來說&#xff1a; 一、Git 定義&#xff1a;Git是一個開源的…

jsherp importItemExcel接口存在SQL注入

一、漏洞簡介 很多人說管伊佳ERP&#xff08;原名&#xff1a;華夏ERP&#xff0c;英文名&#xff1a;jshERP&#xff09;是目前人氣領先的國產ERP系統雖然目前只有進銷存財務生產的功能&#xff0c;但后面將會推出ERP的全部功能&#xff0c;有興趣請幫點一下 二、漏洞影響 …

【目標檢測】【BiFPN】EfficientDet:Scalable and Efficient Object Detection

EfficientDet&#xff1a;可擴展且高效的目標檢測 0.論文摘要 模型效率在計算機視覺中變得越來越重要。在本文中&#xff0c;我們系統地研究了用于目標檢測的神經網絡架構設計選擇&#xff0c;并提出了幾項關鍵優化以提高效率。首先&#xff0c;我們提出了一種加權雙向特征金…

拖動線條改變區域大小

瀏覽網頁時&#xff0c;經常看到這樣一個功能&#xff0c;可以通過拖拽線條&#xff0c;改變左右區域大小 在管理后臺中更為常見&#xff0c;菜單的寬度如果固定死&#xff0c;而后續新增的菜單名稱又不固定&#xff0c;所以很可能導致換行&#xff0c;樣式不太美觀&#xff0c…

輸入框元素覆蓋沖突

后端響應中的 "trainingKbGroupName": "基礎死型" 通過searchForm2.initFormData(rowData[0]);操作會把基礎死型四個字填充到<div class"col-sm-5 form-group"> <label class"col-sm-3 control-label">知識點分組名稱<…

【LLM】Llama 3 論文精讀

導言 Llama 3.5系列模型的發布&#xff1a; Llama 3.5系列模型是開源的&#xff0c;最大模型參數為405B&#xff08;[[稠密Transformer架構]]&#xff0c;而不是MOE 架構&#xff09;&#xff0c;上下文窗口長度為128K。模型支持多語言和工具使用&#xff0c;并且在某些評估中已…

selenium環境搭建

1. 安裝selenium pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/如遇以下報錯 Getting requirements to build wheel ... errorerror: subprocess-exited-with-error Getting requirements to build wheel did not run successfully.│ exit code: 1╰─…

My first Android application

界面元素組成&#xff1a; 功能代碼&#xff1a; /*實現功能&#xff1a;當輸入內容后&#xff0c;歡迎文本發生相應改變&#xff0c;并清除掉文本域內容當未輸入任何內容時&#xff0c;彈出提示文本以警告用戶*/val greetingText findViewById<TextView>(R.id.printer)…

js版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]新特性

ES全稱ECMAScript,ECMAScript是ECMA制定的標準化腳本語言,本文講述Javascript[ECMAScript]版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]的新特性,幫助朋友們更好的熟悉和使用Javascript ES5 1.嚴格模式 use strict2.Object getPrototypeOf,返回一個對象的原…

Redis數據結構-String字符串

1.String字符串 字符串類型是Redis中最基礎的數據結構&#xff0c;關于數據結構與要特別注意的是&#xff1a;首先Redis中所有的鍵的類型都是字符串類型&#xff0c;而且其他集中數據結構也都是在字符串類似基礎上進行構建&#xff0c;例如列表和集合的元素類型是字符串類型&a…

cline通過硅基流動平臺接入DeepSeek-R1模型接入指南

為幫助您更高效、安全地通過硅基流動平臺接入DeepSeek-R1模型&#xff0c;以下為優化后的接入方案&#xff1a; DeepSeek-R1硅基流動平臺接入指南 &#x1f4cc; 核心優勢 成本低廉&#xff1a;注冊即送2000萬Tokens&#xff08;價值約14元&#xff09;高可用性&#xff1a;規…

Java多線程三:補充知識

精心整理了最新的面試資料&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 Lambda表達式 簡介&#xff1a; 希臘字母表中排序第十一位的字母&#xff0c;英語名稱為Lambda避免匿名內部類定義過多其實質屬于函數式編程的概念 為什么要使用lam…

裝修流程圖: 裝修前準備 → 設計階段 → 施工階段 → 安裝階段 → 收尾階段 → 入住

文章目錄 引言I 毛坯房裝修的全流程**1. 裝修前準備****1.1 確定裝修預算****1.2 選擇裝修方式****1.3 選擇裝修公司****1.4 辦理裝修手續****2. 設計階段****2.1 量房****2.2 設計方案****2.3 確認方案****3. 施工階段****3.1 主體拆改****3.2 水電改造****3.3 防水工程****3.…

Embedding方法:從Word2Vec到ltem2Vec

引言 在推薦系統領域&#xff0c;如何有效表征物品特征始終是核心挑戰。傳統協同過濾方法受限于稀疏性問題&#xff0c;直到2016年微軟研究院提出的Item2Vec方法&#xff0c;將自然語言處理中的Word2Vec技術創造性應用于物品表征學習&#xff0c;開啟了嵌入學習的新紀元。 It…

Udp發送和接收數據(python和QT)

服務端代碼 (python) import socketdef udp_server(host0.0.0.0, port12345):# 創建一個UDP套接字sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 綁定服務器的IP地址和端口號sock.bind((host, port))print(f"UDP服務器已啟動&#xff0c;監聽端口 {port}...&…

VBA腳本將DeepSeek嵌入Word中教程

一、獲取API-Key 目前我們可以直接只用官網的API來實現&#xff0c;申請這一步是關鍵 也可以直接訪問官網的API平臺&#xff1a;https://platform.deepseek.com/ &#xff0c;沒注冊的注冊完登錄一下&#xff0c;我們點擊到左側菜單的“APIKeys”按鈕&#xff0c;然后點擊右側…

DeepSeek接入Siri(已升級支持蘋果手表)完整版硅基流動DeepSeek-R1部署

DeepSeek接入Siri&#xff08;已升級支持蘋果手表&#xff09;完整版硅基流動DeepSeek-R1部署 **DeepSeek** 是一款專注于深度學習和人工智能的工具或平臺&#xff0c;通常與人工智能、機器學習、自動化分析等領域有關。它的主要功能可能包括&#xff1a;深度學習模型搜索&…