亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
一、黑/白名單IP限制存取設(shè)定
1、第一種方法:allow、deny
2:第二種方法,ngx_http_geo_module
3、ngx_http_geo_module 負(fù)載平衡(擴(kuò)展)
二、國(guó)家地區(qū)IP限制存取
1:安裝ngx_http_geoip_module模組
2、下載 IP 資料庫
3、設(shè)定nginx
首頁 運(yùn)維 Nginx 網(wǎng)站怎麼透過nginx設(shè)定黑/白名單IP限制及國(guó)家城市IP存取限制

網(wǎng)站怎麼透過nginx設(shè)定黑/白名單IP限制及國(guó)家城市IP存取限制

Jun 01, 2023 pm 05:27 PM
nginx ip

    一、黑/白名單IP限制存取設(shè)定

    nginx設(shè)定黑白名單有好幾種方式,這裡只介紹常用的兩種方法。

    1、第一種方法:allow、deny

    deny和allow指令屬於ngx_http_access_module,nginx預(yù)設(shè)載入此模組,所以可直接使用。

    這種方式,最簡(jiǎn)單,最直接。設(shè)定類似防火牆iptable,使用方法:

    直接設(shè)定檔中新增:

    #白名單設(shè)置,allow后面為可訪問IP 
    location / {
         allow 123.13.123.12;
         allow 23.53.32.1/100;
         deny  all;
    }
    
    #黑名單設(shè)置,deny后面接限制的IP,為什么不加allow all? 因?yàn)檫@個(gè)默認(rèn)是開啟的 
    location / {
         deny 123.13.123.12;
    }
    
    #白名單,特定目錄訪問限制
    location /tree/list {
         allow 123.13.123.12;
         deny  all;
    }

    或透過讀取檔案IP設(shè)定白名單

    location /{
        include /home/whitelist.conf;
        #默認(rèn)位置路徑為/etc/nginx/ 下,
        #如直接寫include whitelist.conf,則只需要在/etc/nginx目錄下創(chuàng)建whitelist.conf
        deny all;
    }

    在/home/目錄下創(chuàng)建whitelist.conf,並寫入需要加入白名單的IP,添加完成後查看如下:

    cat /home/whitelist.conf
    
    #白名單IP
    allow 10.1.1.10;
    allow 10.1.1.11;

    白名單設(shè)定完成,黑名單設(shè)定方法一樣。

    2:第二種方法,ngx_http_geo_module

    預(yù)設(shè)情況下,一般nginx是有加該模組的,ngx_http_geo_module:官方文檔,參數(shù)需設(shè)定在位置在http模組。

    此模組可設(shè)定IP限制,也可設(shè)定國(guó)家地區(qū)限制。位置在server模組外即可。

    語法範(fàn)例:

    設(shè)定檔直接新增

    geo $ip_list {
        default 0;
        #設(shè)置默認(rèn)值為0
        192.168.1.0/24 1;
        10.1.0.0/16    1;
    }
    server {
        listen       8081;
        server_name  192.168.152.100;
        
        location / {
            root   /var/www/test;
    		index  index.html index.htm index.php;
    		if ( $ip_list = 0 ) {
    		#判斷默認(rèn)值,如果值為0,可訪問,這時(shí)上面添加的IP為黑名單。
    		#白名單,將設(shè)置$ip_list = 1,這時(shí)上面添加的IP為白名單。
    		proxy_pass http://192.168.152.100:8081;
        }

    同樣可透過讀取檔案IP設(shè)定

    geo $ip_list {
        default 0;
        #設(shè)置默認(rèn)值為0
        include ip_white.conf;
    }
    server {
        listen       8081;
        server_name  192.168.152.100;
        
        location / {
            root   /var/www/test;
    		index  index.html index.htm index.php;
    		if ( $ip_list = 0 ) {
    			return 403;
    			#限制的IP返回值為403,也可以設(shè)置為503,504其他值。
    			#建議設(shè)置503,504這樣返回的頁面不會(huì)暴露nginx相關(guān)信息,限制的IP看到的信息只顯示服務(wù)器錯(cuò)誤,無法判斷真正原因。
        }

    在/etc/nginx目錄下建立ip_list .conf,新增IP完成後,查看如下:

    cat /etc/nginx/ip_list.conf
    
    192.168.152.1 1;
    192.168.150.0/24 1;

    當(dāng)設(shè)定完成後,IP清單檔案ip_list.conf 將作為白名單,若請(qǐng)求的IP 不在名單中,則會(huì)直接傳回403頁。黑名單設(shè)定方法相同。

    3、ngx_http_geo_module 負(fù)載平衡(擴(kuò)展)

    ngx_http_geo_module,模組還可以做負(fù)載平衡使用,如web集群在不同地區(qū)都有伺服器,某個(gè)地區(qū)IP段,負(fù)載平衡至訪問某個(gè)地區(qū)的伺服器。類似的方式是在IP後面添加自訂值,這些值不僅限於數(shù)字,還可以使用字母,例如US、CN等。

    範(fàn)例:

    如果三臺(tái)伺服器:122.11.11.11,133.11.12.22,144.11.11.33

    geo $country {
        default default;
        111.11.11.0/24   uk;
        #IP段定義值uk
        111.11.12.0/24   us;
        #IP段定義值us
        }
    upstream  uk.server {
        erver 122.11.11.11:9090;
        #定義值uk的IP直接訪問此服務(wù)器
    } 
    
    upstream  us.server {
        server 133.11.12.22:9090;
        #定義值us的IP直接訪問此服務(wù)器
    }
    
    upstream  default.server {
        server 144.11.11.33:9090;
        #默認(rèn)的定義值default的IP直接訪問此服務(wù)器
    }
     
    server {
        listen    9090;
        server_name 144.11.11.33;
    
        location / {
          root  /var/www/html/;
          index index.html index.htm;
         }
     }

    然後在

    二、國(guó)家地區(qū)IP限制存取

    一些第三方服務(wù)例如cloudflare也提供設(shè)定選項(xiàng),使防火牆規(guī)則的設(shè)定更加方便。這裡講講nginx的設(shè)定方法。

    1:安裝ngx_http_geoip_module模組

    ngx_http_geoip_module:官方文檔,參數(shù)需設(shè)定在位置在http模組。

    nginx預(yù)設(shè)情況下不建置此模組,應(yīng)使用 --with-http_geoip_module 配置參數(shù)啟用它。

    對(duì)於ubuntu系統(tǒng)來說,直接安裝 nginx-extras元件,包括幾乎所有的模組。

    sudo apt install nginx-extras

    對(duì)於centos系統(tǒng),安裝模組。

    yum install nginx-module-geoip

    2、下載 IP 資料庫

    此模組依賴IP資料庫,所有資料在此資料庫中讀取,所有資料都需要下載ip庫(dat格式)。

    MaxMind 提供了免費(fèi)的 IP 地理資料庫,壞消息是MaxMind 官方已經(jīng)停止支援dat格式的ip函式庫。

    在其他地方可以找到dat格式的文件,或是舊版的,當(dāng)然資料不可能最新,多少有誤差。

    下載同時(shí)包含Ipv4和Ipv6的country、city版本。

    #下載國(guó)家IP庫,解壓并移動(dòng)到nginx配置文件目錄,
    sudo wget https://dl.miyuru.lk/geoip/maxmind/country/maxmind.dat.gz
    gunzip maxmind.dat.gz
    sudo mv maxmind.dat /etc/nginx/GeoCountry.dat
    
    sudo wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind.dat.gz
    gunzip maxmind.dat.gz
    sudo mv maxmind.dat /etc/nginx/GeoCity.dat

    3、設(shè)定nginx

    範(fàn)例:

    geoip_country /etc/nginx/GeoCountry.dat;
    geoip_city /etc/nginx/GeoCity.dat;
    
    server {
        listen  80;
        server_name 144.11.11.33;
    
        location / {
          root  /var/www/html/;
          index index.html index.htm;
          if ($geoip_country_code = CN) {
      			return 403;
     		#中國(guó)地區(qū),拒絕訪問。返回403頁面
    		}
      	}
     }

    這裡,地區(qū)國(guó)家基礎(chǔ)設(shè)定就完成了。

    Geoip其他參數(shù):

    國(guó)家相關(guān)參數(shù):
    $geoip_country_code #兩位字元的英文國(guó)家碼。如:CN, US
    $geoip_country_code3 #三位字元的英文國(guó)家碼。如:CHN, USA
    $geoip_country_name #國(guó)家英文全名。如:China, United States
    城市相關(guān)參數(shù):
    $geoip_city_country_code #也是兩個(gè)字元的英文國(guó)碼。
    $geoip_city_country_code3 #上同
    $geoip_city_country_name #上同.
    $geoip_region #這個(gè)經(jīng)測(cè)試是兩位數(shù)的數(shù)字,如杭州是02, 上海是 23。但沒有搜到相關(guān)資料,希望知道的朋友留言告之。
    $geoip_city #城市的英文名稱。如:Hangzhou
    $geoip_postal_code #城市的郵遞區(qū)號(hào)。經(jīng)測(cè)試,國(guó)內(nèi)這一字段為空
    $geoip_city_continent_code #不知什麼用途,國(guó)內(nèi)好像都是AS
    $geoip_latitude #緯度
    $geoip_longitude #經(jīng)度

    #

    以上是網(wǎng)站怎麼透過nginx設(shè)定黑/白名單IP限制及國(guó)家城市IP存取限制的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

    本網(wǎng)站聲明
    本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費(fèi)脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費(fèi)的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強(qiáng)大的PHP整合開發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網(wǎng)頁開發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級(jí)程式碼編輯軟體(SublimeText3)

    熱門話題

    Laravel 教程
    1597
    29
    PHP教程
    1488
    72
    NGINX與Apache:Web服務(wù)器的比較分析 NGINX與Apache:Web服務(wù)器的比較分析 Apr 21, 2025 am 12:08 AM

    NGINX更適合處理高并發(fā)連接,而Apache更適合需要復(fù)雜配置和模塊擴(kuò)展的場(chǎng)景。1.NGINX以高性能和低資源消耗著稱,適合高并發(fā)。2.Apache以穩(wěn)定性和豐富的模塊擴(kuò)展聞名,適合復(fù)雜配置需求。

    nginx和apache:了解關(guān)鍵差異 nginx和apache:了解關(guān)鍵差異 Apr 26, 2025 am 12:01 AM

    NGINX和Apache各有優(yōu)劣,選擇應(yīng)基於具體需求。 1.NGINX適合高並發(fā)場(chǎng)景,因其異步非阻塞架構(gòu)。 2.Apache適用於需要復(fù)雜配置的低並發(fā)場(chǎng)景,因其模塊化設(shè)計(jì)。

    php寫完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見方式 php寫完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見方式 May 23, 2025 pm 08:33 PM

    PHP代碼可以通過多種方式執(zhí)行:1.使用命令行,直接輸入“php文件名”執(zhí)行腳本;2.通過Web服務(wù)器,將文件放入文檔根目錄並通過瀏覽器訪問;3.在IDE中運(yùn)行,利用內(nèi)置調(diào)試工具;4.使用在線PHP沙箱或代碼執(zhí)行平臺(tái)進(jìn)行測(cè)試。

    安裝Nginx後配置文件路徑及初始設(shè)置 安裝Nginx後配置文件路徑及初始設(shè)置 May 16, 2025 pm 10:54 PM

    了解Nginx的配置文件路徑和初始設(shè)置非常重要,因?yàn)樗莾?yōu)化和管理Web服務(wù)器的第一步。 1)配置文件路徑通常是/etc/nginx/nginx.conf,使用nginx-t命令可以查找並測(cè)試語法。 2)初始設(shè)置包括全局設(shè)置(如user、worker_processes)和HTTP設(shè)置(如include、log_format),這些設(shè)置允許根據(jù)需求進(jìn)行定制和擴(kuò)展,錯(cuò)誤配置可能導(dǎo)致性能問題和安全漏洞。

    linux如何限制用戶資源? ulimit怎麼配置? linux如何限制用戶資源? ulimit怎麼配置? May 29, 2025 pm 11:09 PM

    Linux系統(tǒng)通過ulimit命令限制用戶資源,防止資源過度佔(zhàn)用。 1.ulimit是shell內(nèi)置命令,可限製文件描述符數(shù)(-n)、內(nèi)存大小(-v)、線程數(shù)(-u)等,分為軟限制(當(dāng)前生效值)和硬限制(最高上限)。 2.臨時(shí)修改直接使用ulimit命令,如ulimit-n2048,但僅對(duì)當(dāng)前會(huì)話有效。 3.永久生效需修改/etc/security/limits.conf及PAM配置文件,並添加sessionrequiredpam_limits.so。 4.systemd服務(wù)需在unit文件中設(shè)置Lim

    Debian Nginx配置技巧有哪些 Debian Nginx配置技巧有哪些 May 29, 2025 pm 11:06 PM

    在Debian系統(tǒng)上配置Nginx時(shí),以下是一些實(shí)用的技巧:配置文件的基本結(jié)構(gòu)全局設(shè)置部分:定義影響整個(gè)Nginx服務(wù)的行為參數(shù),比如工作線程數(shù)量及運(yùn)行用戶權(quán)限。事件處理部分:決定Nginx如何應(yīng)對(duì)網(wǎng)絡(luò)連接,是提升性能的關(guān)鍵配置。 HTTP服務(wù)部分:包含大量與HTTP服務(wù)相關(guān)的設(shè)定,可內(nèi)嵌多個(gè)server和location塊。核心配置選項(xiàng)worker_connections:定義每個(gè)工作線程所能處理的最大連接數(shù),通常設(shè)為1024。 multi_accept:激活多連接接收模式,增強(qiáng)並發(fā)處理的能力。 s

    NGINX的目的:服務(wù)Web內(nèi)容等 NGINX的目的:服務(wù)Web內(nèi)容等 May 08, 2025 am 12:07 AM

    nginxserveswebcontentandactsasareverseproxy,loadBalancer和more.1)效率高效的servesstaticContentLikeHtmlandImages.2)itfunctionsasareverseproxybalancer,and andginxenhanceperforfforfforfforfforfforffrenfcaching.4)

    NGINX故障排除:診斷和解決常見錯(cuò)誤 NGINX故障排除:診斷和解決常見錯(cuò)誤 May 05, 2025 am 12:09 AM

    Nginx常見錯(cuò)誤的診斷與解決方法包括:1.查看日誌文件,2.調(diào)整配置文件,3.優(yōu)化性能。通過分析日誌、調(diào)整超時(shí)設(shè)置和優(yōu)化緩存及負(fù)載均衡,可以有效解決404、502、504等錯(cuò)誤,提高網(wǎng)站穩(wěn)定性和性能。

    See all articles