国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

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

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

Jun 01, 2023 pm 05:27 PM
nginx ip

    一、黑/白名單IP限制存取設定

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

    1、第一種方法:allow、deny

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

    這種方式,最簡單,最直接。設定類似防火牆iptable,使用方法:

    直接設定檔中新增:

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

    或透過讀取檔案IP設定白名單

    location /{
        include /home/whitelist.conf;
        #默認位置路徑為/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;

    白名單設定完成,黑名單設定方法一樣。

    2:第二種方法,ngx_http_geo_module

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

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

    語法範例:

    設定檔直接新增

    geo $ip_list {
        default 0;
        #設置默認值為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 ) {
    		#判斷默認值,如果值為0,可訪問,這時上面添加的IP為黑名單。
    		#白名單,將設置$ip_list = 1,這時上面添加的IP為白名單。
    		proxy_pass http://192.168.152.100:8081;
        }

    同樣可透過讀取檔案IP設定

    geo $ip_list {
        default 0;
        #設置默認值為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,也可以設置為503,504其他值。
    			#建議設置503,504這樣返回的頁面不會暴露nginx相關信息,限制的IP看到的信息只顯示服務器錯誤,無法判斷真正原因。
        }

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

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

    當設定完成後,IP清單檔案ip_list.conf 將作為白名單,若請求的IP 不在名單中,則會直接傳回403頁。黑名單設定方法相同。

    3、ngx_http_geo_module 負載平衡(擴展)

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

    範例:

    如果三臺伺服器: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直接訪問此服務器
    } 
    
    upstream  us.server {
        server 133.11.12.22:9090;
        #定義值us的IP直接訪問此服務器
    }
    
    upstream  default.server {
        server 144.11.11.33:9090;
        #默認的定義值default的IP直接訪問此服務器
    }
     
    server {
        listen    9090;
        server_name 144.11.11.33;
    
        location / {
          root  /var/www/html/;
          index index.html index.htm;
         }
     }

    然後在

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

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

    1:安裝ngx_http_geoip_module模組

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

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

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

    sudo apt install nginx-extras

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

    yum install nginx-module-geoip

    2、下載 IP 資料庫

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

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

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

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

    #下載國家IP庫,解壓并移動到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、設定nginx

    範例:

    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;
     		#中國地區(qū),拒絕訪問。返回403頁面
    		}
      	}
     }

    這裡,地區(qū)國家基礎設定就完成了。

    Geoip其他參數(shù):

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

    #

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

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

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

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

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

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

    Dreamweaver CS6

    Dreamweaver CS6

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

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    熱門話題

    Laravel 教程
    1601
    29
    PHP教程
    1502
    276
    NGINX與Apache:Web服務器的比較分析 NGINX與Apache:Web服務器的比較分析 Apr 21, 2025 am 12:08 AM

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

    nginx和apache:了解關鍵差異 nginx和apache:了解關鍵差異 Apr 26, 2025 am 12:01 AM

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

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

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

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

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

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

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

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

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

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

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

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

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

    See all articles