nginx拒絕國外IP訪問

2022-05-31 16:33:08 字數 3675 閱讀 7005

nginx拒絕國外ip訪問方法很多,比如iptables,geoip模組,網域名稱解析等等。這些方法不會相互衝突,可以結合起來一起使用。

網域名稱解析方法:

絕大多數網域名稱解析服務商都是提供電信聯通移動海外線路區分解析的,所以我們可以充分利用這個功能,來禁止海外訪問。

以阿里雲dns解析為例:

設定a記錄型別

解析線路:境外

記錄值:127.0.0.1

設定後等30分鐘後我們再用ping工具測試下境外解析,就會發現所有的海外線路都會解析至127.0.0.1這個ip上,為什麼是127.0.0.1呢?因為這個是本地ip,如果有攻擊海外肉雞攻擊這個**,就會自己攻擊自己。

結合我寫的另外乙個方法:

用指令碼每週更新國外ip庫,利用nginx deny功能直接拒絕這些ip位址。

#新增到crontab

00 * * 5 /bin/bash /root/tools/black_nginx.sh

**內容

在nginx主配置檔案的http段include black.conf; 這樣此伺服器所有**都拒絕這些ip

經過學習更新乙個方法,使用openresty:

推薦幾個waf模組 

cp -a ./waf/waf /usr/local/openresty/nginx/conf/或者

在主配置資料夾內引入

啟動報錯

nginx: [error] lua_load_resty_core failed to load the resty.core module from  ensure you are using an openresty release from  (rc: 2, reason: module 'resty.core' not found:

no field package.preload['resty.core']

no file '/usr/local/openresty/nginx/conf/waf/resty/core.lua'

no file '/usr/local/openresty/site/lualib/resty/core.so'

no file '/usr/local/openresty/lualib/resty/core.so'

no file './resty/core.so'

no file '/usr/local/lib/lua/5.1/resty/core.so'

no file '/usr/local/openresty/luajit/lib/lua/5.1/resty/core.so'

no file '/usr/local/lib/lua/5.1/loadall.so'

no file '/usr/local/openresty/site/lualib/resty.so'

no file '/usr/local/openresty/lualib/resty.so'

no file './resty.so'

no file '/usr/local/lib/lua/5.1/resty.so'

no file '/usr/local/openresty/luajit/lib/lua/5.1/resty.so'

no file '/usr/local/lib/lua/5.1/loadall.so')

或者failed to load the 'resty.core' module ( ensure you are using an openresty release from (reason: module 'resty.core' not found:

no field package.preload['resty.core']

no file '/usr/local/openresty/nginx/conf/waf/resty/core.lua'

no file '/usr/local/openresty/site/lualib/resty/core.so'

no file '/usr/local/openresty/lualib/resty/core.so'

no file './resty/core.so'

no file '/usr/local/lib/lua/5.1/resty/core.so'

no file '/usr/local/openresty/luajit/lib/lua/5.1/resty/core.so'

no file '/usr/local/lib/lua/5.1/loadall.so'

no file '/usr/local/openresty/site/lualib/resty.so'

no file '/usr/local/openresty/lualib/resty.so'

no file './resty.so'

no file '/usr/local/lib/lua/5.1/resty.so'

no file '/usr/local/openresty/luajit/lib/lua/5.1/resty.so'

no file '/usr/local/lib/lua/5.1/loadall.so') in /usr/local/openresty/nginx/conf/nginx.conf:130

解決辦法

ln -s /usr/local/openresty/server/lualib /usr/local/lib/lua

ln -s /usr/local/openresty/server/lualib/resty /usr/local/openresty/server/nginx/conf/waf/resty

Nginx設定拒絕或允許指定ip訪問

限制 deny 192.168.1.1 允許allow 192.168.1.0 24 允許allow 10.1.1.0 16 限制所有 deny all 在配置檔案的sever或者location配置段中進行設定,通allow和deny引數,進行訪問控制。例如 只允許ip10.10.240.24進行...

Nginx如何設定拒絕或允許指定ip訪問

nginx拒絕或允許指定ip,是使用模組http訪問控制模組 http access 控制規則按照宣告的順序進行檢查,首條匹配ip的訪問規則將被啟用。location 上面的例子中僅允許192.168.1.0 24和10.1.1.0 16網路段訪問這個location欄位,但192.168.1.1是...

Nginx如何設定拒絕或允許指定ip訪問

nginx拒絕或允許指定ip,是使用模組http訪問控制模組 http access 控制規則按照宣告的順序進行檢查,首條匹配ip的訪問規則將被啟用。location 上面的例子中僅允許192.168.1.0 24和10.1.1.0 16網路段訪問這個location欄位,但192.168.1.1是...