最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx限制特定IP訪問自己的網(wǎng)站實(shí)現(xiàn)的幾種方法

 更新時(shí)間:2024年12月22日 09:24:44   作者:fj_changing  
本文主要介紹了使用Nginx限制特定IP訪問自己的網(wǎng)站的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

需求

一個(gè)網(wǎng)站只想被國內(nèi)訪問,或者只想被一個(gè)省或一個(gè)市訪問,或者只允許特定的IP或IP段訪問,或者禁止特定的IP或IP段訪問。我知道的有三個(gè)方法:

  • 購買云服務(wù)器廠商的相關(guān)服務(wù),它們能做到,結(jié)果相對(duì)準(zhǔn)確;
  • 購買查詢IP的網(wǎng)站的服務(wù),寫個(gè)中間件,自己的網(wǎng)站收到請(qǐng)求時(shí)根據(jù)IP去查歸屬地,然后根據(jù)業(yè)務(wù)需要直接允許或阻止本次請(qǐng)求,結(jié)果相對(duì)準(zhǔn)確,但每次收到請(qǐng)求都去查詢的話費(fèi)用較高;
  • 購買離線的IP庫,在Nginx中做配置,結(jié)果相對(duì)不準(zhǔn)確,一次性付費(fèi),后續(xù)更新另外付費(fèi)。

云服務(wù)器廠商的服務(wù)和查詢IP的網(wǎng)站的服務(wù),相對(duì)來說更準(zhǔn)確,IP數(shù)量更完整,更新更及時(shí);離線的IP庫,由于數(shù)據(jù)源未知,相對(duì)來說不準(zhǔn)確,IP數(shù)量不完整,更新不一定及時(shí)。

使用Nginx實(shí)現(xiàn)

 我用了寶塔,網(wǎng)站里添加了多個(gè)站點(diǎn),每個(gè)站點(diǎn)都單獨(dú)配置。

以內(nèi)網(wǎng)IP為例,公網(wǎng)IP同理。以下配置都寫在Nginx配置的server塊中(也可以寫在location中),IP支持一個(gè)一個(gè)寫,也支持CIDR形式,公網(wǎng)IP的CIDR形式可以在ip138上查,準(zhǔn)確性不知道。已知具體的IP段,有網(wǎng)站在線轉(zhuǎn)換成CIDR形式,但我發(fā)現(xiàn)不同的網(wǎng)站轉(zhuǎn)出的結(jié)果不同,最好還是手動(dòng)計(jì)算驗(yàn)證下。

只允許192.168.1.X的IP訪問,其他IP禁止訪問。deny all;不能寫在allow前面,會(huì)導(dǎo)致阻止所有的訪問。

allow 192.168.1.1/24;
deny all;

禁止192.168.1.1、192.168.1.2、192.168.1.3訪問,允許其他IP訪問。

deny 192.168.1.1;
deny 192.168.1.2;
deny 192.168.1.3;
allow all;

被阻止訪問時(shí),頁面顯示403 Forbidden。

如果有大量的IP需要寫,可以將上面的語句寫在文件里,然后在server塊中導(dǎo)入這個(gè)文件。這樣在同一個(gè)服務(wù)器中有多個(gè)站點(diǎn)都需要這個(gè)同樣的配置時(shí),容易維護(hù),后面更新IP只需要更新這個(gè)文件的內(nèi)容,不用把每個(gè)站點(diǎn)的Nginx配置都改一遍。更新文件中的IP后,需重載Nginx配置才生效。

include /home/ip_limit/ip_limit.conf;

自定義403頁面

403頁面可以自定義,同樣是在Nginx配置的server塊中(也可以寫在location中)。將頁面寫在/home/ip_limit/403_my.html,這個(gè)html中如果有圖片,最好寫死成base64,原因后面再說。最好不要用403.html這個(gè)文件名,可能和網(wǎng)站根目錄中寶塔自動(dòng)生成的默認(rèn)403頁面沖突,導(dǎo)致自定義403頁面不生效。

我的網(wǎng)站只允許指定城市訪問,所以Nginx中我配置了allow xxx和deny all;,這樣會(huì)導(dǎo)致在其他城市訪問時(shí)還是403 Forbidden,自定義的403頁面不生效,所以需要單獨(dú)設(shè)置這個(gè)自定義403頁面為允許所有的訪問。

error_page 403 /403_my.html;
location /403_my.html {
  allow all;  #不加會(huì)由于前面的allow和deny all導(dǎo)致阻止加載這個(gè)自定義的403頁面,從而自定義403頁面不生效
  root /home/ip_limit;
  internal;  # 防止直接訪問這個(gè)頁面,不加也行
}

403頁面中的圖片問題

做完上面的配置后,如果自定義403頁面中的圖片不是寫死成base64,會(huì)發(fā)現(xiàn)被阻止訪問時(shí),頁面中的圖片沒加載出來(img標(biāo)簽中src="./403.png"),然后查了資料在Nginx配置的server塊中加了下面的內(nèi)容,這樣自定義403頁面中的圖片確實(shí)可以加載了(前提是這個(gè)圖片在這里的root處設(shè)置的路徑中,同理src的值也要做相應(yīng)的調(diào)整),但正常訪問網(wǎng)站時(shí)有的圖片無法加載了??赡芤蜻@個(gè)設(shè)置導(dǎo)致網(wǎng)站的所有圖片都從這里設(shè)置的路徑中加載,但實(shí)際無法加載的圖片沒存放在這里。所以這個(gè)配置不具有通用性,還有個(gè)方法我沒試,就是不加這個(gè)配置,把自定義403頁面中的圖片的src換成一個(gè)可加載的網(wǎng)絡(luò)url。

location ~ .*\.(png|jpg|jpeg|gif|svg|ico){
  allow all;
  root /www/wwwroot/test/web;
}

最簡單省事的方法是,不加這個(gè)配置,自定義403頁面中的圖片寫死成base64。

允許所有人訪問網(wǎng)站中的靜態(tài)文件

我的網(wǎng)站只允許指定城市訪問,但網(wǎng)站中提供一些靜態(tài)文件可供所有人訪問或下載,同樣是在Nginx配置的server塊中。

location /apk/user.apk { # app下載,不加會(huì)由于ip策略無法訪問
  allow all;
}

單獨(dú)放行網(wǎng)站中的一個(gè)接口

我的網(wǎng)站只允許指定城市訪問,但要單獨(dú)放行網(wǎng)站中的一個(gè)接口,例如文件上傳接口,同樣是在Nginx配置的server塊中。假設(shè)公網(wǎng)接口是http://公網(wǎng)IP/oss/upload,對(duì)應(yīng)的內(nèi)網(wǎng)服務(wù)是http://192.168.1.1:9966/oss/upload。

location /oss/upload { # 文件上傳接口,不設(shè)訪問限制
  proxy_pass http://192.168.1.1:9966/oss/upload/; # 注意location末尾沒斜線,這里末尾有斜線
  allow all;
}

參考鏈接

Nginx全面配置 - 知乎 (zhihu.com)

nginx 自定義 404、50x 錯(cuò)誤頁面_nginx 504超時(shí)時(shí)指定一個(gè)html界面-CSDN博客

Nginx配置自定義的403頁面 - Mr.peter - 博客園 (cnblogs.com)

到此這篇關(guān)于Nginx限制特定IP訪問自己的網(wǎng)站實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx限制特定IP訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx?504?Gateway?Time-out的兩種最新解決方案

    Nginx?504?Gateway?Time-out的兩種最新解決方案

    大家在訪問網(wǎng)站的時(shí)候通常會(huì)遇到502錯(cuò)誤、404錯(cuò)誤等,很少會(huì)遇到504錯(cuò)誤,但是在我們?nèi)ピL問大流量或者內(nèi)容數(shù)據(jù)量較多的網(wǎng)站時(shí),打開網(wǎng)頁偶爾就會(huì)出現(xiàn)504 gateway time-out,這篇文章主要給大家介紹了關(guān)于Nginx?504?Gateway?Time-out的兩種解決方案,需要的朋友可以參考下
    2022-08-08
  • Nginx緩存設(shè)置案例詳解

    Nginx緩存設(shè)置案例詳解

    這篇文章主要介紹了Nginx緩存設(shè)置案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)操作方法

    Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)操作方法

    為優(yōu)化網(wǎng)絡(luò)性能和提升服務(wù)可用性,通過Nginx配置stream模塊根據(jù)客戶端IP地址動(dòng)態(tài)轉(zhuǎn)發(fā)TCP請(qǐng)求至不同后端服務(wù)器節(jié)點(diǎn),適用于數(shù)據(jù)庫代理、TCP服務(wù)負(fù)載均衡及地域或來源IP分流的流量調(diào)度等場(chǎng)景,本文給大家介紹Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)的操作
    2024-10-10
  • nginx中path模式配置示例

    nginx中path模式配置示例

    這篇文章主要介紹了nginx中path模式配置示例,nginx服務(wù)器默認(rèn)是不支持pathinfo模式的,需要修改配置才可以實(shí)現(xiàn),本文即給出了配置示例,需要的朋友可以參考下
    2014-12-12
  • 詳解用ELK來分析Nginx服務(wù)器日志的方法

    詳解用ELK來分析Nginx服務(wù)器日志的方法

    這篇文章主要介紹了用ELK來分析Nginx服務(wù)器日志的方法,ELK是三個(gè)開源軟件的縮寫,分別表示Elasticsearch,Logstash,Kibana,需要的朋友可以參考下
    2016-03-03
  • nginx安裝和前端訪問配置以及403 Forbidden解決方案

    nginx安裝和前端訪問配置以及403 Forbidden解決方案

    本文介紹CentOS下Nginx安裝與配置,包括安裝命令、配置文件路徑、啟動(dòng)及重啟方法,并詳細(xì)說明多個(gè)前端站點(diǎn)的代理設(shè)置與緩存策略,同時(shí)提供解決403錯(cuò)誤的權(quán)限檢查及SELinux調(diào)整方案
    2025-07-07
  • nginx實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)

    nginx實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)

    本文給大家分享的是使用nginx實(shí)現(xiàn)代理(請(qǐng)求轉(zhuǎn)發(fā))的教程及簡單示例,非常實(shí)用,有需要的小伙伴可以參考下
    2017-07-07
  • 配置nginx 重定向到系統(tǒng)維護(hù)頁面

    配置nginx 重定向到系統(tǒng)維護(hù)頁面

    今天抽時(shí)間給大家普及nginx 重定向到系統(tǒng)維護(hù)頁面的配置內(nèi)容,nginx重定向問題說起來也很簡單,因?yàn)橹囟ㄏ蚝笾苯犹D(zhuǎn)到靜態(tài)頁面,不需要后續(xù)操作和記錄,所以直接301永久重定向。今天簡單給大家介紹配置方法,一起看看吧
    2021-06-06
  • 服務(wù)器重啟后寶塔界面打開顯示404 nginx的解決方法

    服務(wù)器重啟后寶塔界面打開顯示404 nginx的解決方法

    在阿里云服務(wù)器搭建寶塔界面,服務(wù)器重啟之后打開寶塔顯示404 not found nginx,本文給大家介紹了服務(wù)器重啟后寶塔界面打開顯示404 nginx的解決方法,需要的朋友可以參考下
    2024-02-02
  • Nginx+SpringBoot實(shí)現(xiàn)負(fù)載均衡的示例

    Nginx+SpringBoot實(shí)現(xiàn)負(fù)載均衡的示例

    這篇文章主要介紹了Nginx優(yōu)雅的實(shí)現(xiàn)負(fù)載均衡,幫助大家更好的理解和使用nginx,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論

巩义市| 平山县| 同心县| 大港区| 札达县| 邳州市| 额敏县| 江阴市| 金坛市| 长乐市| 呼伦贝尔市| 平湖市| 黄梅县| 蓝山县| 邻水| 新安县| 息烽县| 广南县| 米脂县| 伊春市| 讷河市| 静乐县| 泽州县| 丹巴县| 治县。| 凤台县| 吉隆县| 信宜市| 常德市| 靖远县| 雷波县| 科技| 秀山| 泰宁县| 鄂尔多斯市| 东海县| 凤山市| 富宁县| 永清县| 高唐县| 黑山县|