欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx配置IP白名單的詳細步驟

 更新時間:2022年12月27日 09:49:32   作者:weixin_44953227  
在日常運維工作中會碰到這樣的需求,設置網(wǎng)站訪問只對某些ip開放,其他ip的客戶端都不能訪問,下面這篇文章主要給大家介紹了關于nginx配置IP白名單的詳細步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

分析nginx訪問日志,有哪些IP訪問過nginx。

命令參考:awk '{print $1}' logs/access.log | sort | uniq -c | sort -nr -k1

輸出的效果案例:

1053 192.168.3.15
893 192.168.3.10
818 192.168.0.8

1、添加IP白名單文件

在nginx目錄的 conf 中添加文件 ip.conf,注意白名單文件不用添加任何注釋,可以有空行

vi ip.conf

192.168.3.11 1;

192.168.3.10 1;
192.168.0.112 1;

2、配置nginx.conf

編輯http節(jié)點:

http {
    # ...
    # geo IP whitelist
    geo $remote_addr $ip_whitelist {
       default 0;
       include ip.conf;
    }
 
    # ...
}

編輯server節(jié)點:

server {
    listen       80;
    # ...
    # IP whitelist
    set $whitelist_flag 1;
    if ( $ip_whitelist != 1 ) {
       set $whitelist_flag "${whitelist_flag}0";
    }
    if ( $request_uri !~* '/warn_navigate_page' ) {
       set $whitelist_flag "${whitelist_flag}0";
    }
    if ( $whitelist_flag = "100" ) {
       #return 403;
       rewrite ^(.*)$ $scheme://$host:$server_port/warn_navigate_page break; #白名單的提示頁面
    }
 
    # ...
}

也可以在location節(jié)點中編輯,示例:

編輯location節(jié)點:

location /test {
    proxy_pass  http://IP/test;
    # ...
    # IP whitelist
    set $whitelist_flag 1;
    if ( $ip_whitelist != 1 ) {
            set $whitelist_flag "${whitelist_flag}0";
    }
    if ( $request_uri !~* '/warn_navigate_page' ) {
            set $whitelist_flag "${whitelist_flag}0";
    }
    if ( $whitelist_flag = "100" ) {
            #return 403;
            rewrite ^(.*)$ $scheme://$host:$server_port/warn_navigate_page break; #白名單的提示頁面
    }
 
    # ...
}

添加導航的提示頁 /warn_navigate_page

server {
    listen       80;
    # ...
 
 
    # 白名單的提示導航頁面
    location /warn_navigate_page {
       	root /home/java/nginx/bizapp/warn_navigate_page;
        index  warn_navigate_page.html warn_navigate_page.htm;
        rewrite ^(.*)$ /warn_navigate_page.html break;
    }
}

3、編輯白名單的提示導航頁面

/home/java/nginx/bizapp/warn_navigate_page 中編輯頁面warn_navigate_page.html

參考:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta content="black" name="apple-mobile-web-app-status-bar-style">
    <meta content="telephone=no" name="format-detection">
    <meta content="email=no" name="format-detection">
    <title>系統(tǒng)通知</title>
    <style type="text/css">
        body {
            background: url(https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png) no-repeat;
            background-size: 100% 100%;
            background-attachment: fixed;
        }
    </style>
</head>

<body>
    <div>
        <pre>                                                                                     【通知公告】
        尊敬的用戶您好,系統(tǒng)已不提供IP地址直接訪問,請聯(lián)系管理員添加白名單。互聯(lián)網(wǎng)的域名訪問地址:<a >跳轉(zhuǎn)https://www.baidu.com</a>
        </pre>
    </div>

</body>
<script type="text/javascript">
</script>

</html>

預計效果圖

補充:添加白名單后nginx報錯:

nginx: [warn] low address bits of 45.11.55.132/28 are meaningless in /opt/openresty/nginx/conf/public/white.conf:69
nginx: [warn] low address bits of 12.70.12.195/28 are meaningless in /opt/openresty/nginx/conf/public/white.conf:70

解決方法:

錯誤原因是因為子網(wǎng)劃分錯誤,比如 45.11.55.132/28,每個子網(wǎng)有16個ip,所以起始ip一定要是16的倍數(shù),

這個子網(wǎng)應該寫成這樣45.11.55.128/28,修改完畢后再reload nginx就不會報錯了。

總結(jié) 

到此這篇關于nginx配置IP白名單的文章就介紹到這了,更多相關nginx配置IP白名單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Nginx之proxy_redirect使用詳解

    Nginx之proxy_redirect使用詳解

    這篇文章主要介紹了Nginx之proxy_redirect使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Linux平臺通過nginx和vsftpd構建圖片服務器

    Linux平臺通過nginx和vsftpd構建圖片服務器

    這篇文章主要介紹了Linux平臺通過nginx和vsftpd構建圖片服務器,需要的朋友可以參考下
    2017-05-05
  • Windows設置nginx開機自啟動的方法

    Windows設置nginx開機自啟動的方法

    這篇文章主要介紹了Windows設置nginx開機自啟動的方法,通過兩種方式實現(xiàn)nginx的開機自啟動:winws和window計劃程序,每種方式給大家介紹的非常詳細需要的朋友可以參考下
    2022-11-11
  • Nginx配置文件的具體使用

    Nginx配置文件的具體使用

    本文主要介紹了Nginx配置文件的具體使用,其配置文件通常位于?/etc/nginx/nginx.conf?或?/usr/local/nginx/conf/nginx.conf,下面就來介紹一下,感興趣的可以了解一下
    2024-08-08
  • 在nginx中部署https服務的詳細步驟

    在nginx中部署https服務的詳細步驟

    Web服務器一般指網(wǎng)站服務器,可以處理瀏覽器等Web客戶端的請求并返回相應響應,也可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載,本文主要介紹nginx中部署https服務的具體流程,也是搭建web的開端與主要步驟之一
    2023-10-10
  • Nginx下升級https的方法步驟

    Nginx下升級https的方法步驟

    這篇文章主要介紹了Nginx下升級https的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • nginx部署前端項目location時root和alias配置指南

    nginx部署前端項目location時root和alias配置指南

    nginx指定文件路徑有兩種方式root和alias,下面這篇文章主要給大家介紹了關于nginx部署前端項目location時root和alias配置的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • nginx 如何實現(xiàn)if嵌套的方法示例

    nginx 如何實現(xiàn)if嵌套的方法示例

    這篇文章主要介紹了nginx 如何實現(xiàn)if嵌套的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Nginx?504?Gateway?Time-out的兩種最新解決方案

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

    大家在訪問網(wǎng)站的時候通常會遇到502錯誤、404錯誤等,很少會遇到504錯誤,但是在我們?nèi)ピL問大流量或者內(nèi)容數(shù)據(jù)量較多的網(wǎng)站時,打開網(wǎng)頁偶爾就會出現(xiàn)504 gateway time-out,這篇文章主要給大家介紹了關于Nginx?504?Gateway?Time-out的兩種解決方案,需要的朋友可以參考下
    2022-08-08
  • nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權訪問

    nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權訪問

    這篇文章主要介紹了nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權訪問方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論