當前位置:首頁 » 密碼管理 » nginx禁止ip訪問網站

nginx禁止ip訪問網站

發布時間: 2024-04-27 02:05:43

linux 如何禁止通過IP訪問網站,只讓用域名訪問網站

要實現只用域名訪問而不用IP訪問,要看所使用的web伺服器軟體,以nginx為例,可以通過如下方法進行設置:

1、用vim打開nginx的配置文件,一般為nginx/conf/nginx.conf
2、在server的設置裡面添加如下內容即可:
#禁止IP訪問
server{
listen 80 default;
server_name _;
return 500;
}
或者
server {
listen 80 fault;
server_name _;
rewrite ^(.*) http://域名 permanent;
}

Ⅱ nginx怎麼設置指定目錄ip訪問限制

nginx中針對目錄進行IP限制 ,這里以phpmyadmin目錄只能讓內網IP訪問,而外網不能訪問的配置方法。

nginxphpmyadmin針對內網ip用戶開放、外網ip用戶關閉(在前面的配置中,location ~ ^/目錄/使用正則, 優先順序高於location /的配置,所以nginx無法對首頁進行解析)

代碼如下:

server{
listen80;
server_nameexample.com;
access_loglogs/access.logmain;
location/{
roothtml;
indexindex.phpindex.htmlindex.htm;
}
location~^/phpmyadmin/{
allow192.168.1.0/24;
denyall;
location~.*.(php|php5)?${
root/var/mailapp/nginx/html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefastcgi_params;
}
}
location~.*.(php|php5)?${
root/opt/nginx/html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefastcgi_params;
}
}

Ⅲ 網站nginx配置限制單個IP訪問頻率,預防DDOS惡意攻擊

對於網站來說,尤其是流量較大出名的網站,經常遇到攻擊,如DDOS攻擊等,雖然有些第三方,如Cloudflare可以擋,但對於動態網站PHP來說,只能擋一部分。這時候需要對於單個IP惡意攻擊做出限流。nginx的兩個模塊可以限流。

nginx兩個限流模塊:

連接頻率限制,ngx_http_limit_conn_mole:官方文檔:https://nginx.org/en/docs/http/ngx_http_limit_conn_mole.html

請求頻率限制,ngx_http_limit_req_mole:官方文檔:https://nginx.org/en/docs/http/ngx_http_limit_req_mole.html

網上理論很多,根據名字可知:

當然還是看不懂的話,通俗點講(相對於時間比較):

比如秒殺,搶購,連接頻率限制和請求頻率限制應該配合使用 , 使用連接頻率限制同一IP同時只能有3個連接, 再使用請求頻率限制對於同一ip的請求,限制平均速率為5個請求/秒 , 這樣比單獨只使用一種限制要好很多。

比如只使用請求頻率限制 , 可以精確地限制同一ip1秒只能發起5次的http請求 , 假如同一ip1秒內發起了100000次請求 , 雖然限制了只有5次成功響應 , 但是其他的99995次的請求TCP握手建立http連接是不是會消耗伺服器資源? 所以還需要配合使用。

1、limit_req_zone,示例:

2、limit_conn_zone,示例:

3、搭配一起使用

1、ab命令

ab是apache自帶的壓力測試工具。一般不用額外安裝,ab非常實用,它不僅可以對apache伺服器進行網站訪問壓力測試,也可以對或其它類型的伺服器進行壓力測試。比如nginx、tomcat、IIS等。

測試命令


2、wrk命令

需自己安裝,地址:https://github.com/wg/wrk

安裝

測試命令:

還有其他壓測工具,自行研究

Ⅳ 如何配置nginx達到只允許域名訪問網址,禁止ip

Nginx 禁止IP訪問

我們在使用的時候會遇到很多的惡意IP攻擊,這個時候就要用到Nginx 禁止IP訪問了。下面我們就先看看Nginx的默認虛擬主機在用戶通過IP訪問,或者通過未設置的域名訪問(比如有人把他自己的域名指向了你的ip)的時候生效最關鍵的一點是,在server的設置裡面添加這一行:

listen 80 default;

後面的default參數表示這個是默認虛擬主機。

Nginx 禁止IP訪問這個設置非常有用。

比如別人通過ip或者未知域名訪問你的網站的時候,你希望禁止顯示任何有效內容,可以給他返回500.目前國內很多機房都要求網站主關閉空主機頭,防止未備案的域名指向過來造成麻煩。就可以這樣設置:

server {
listen 80 default;
return 500;
}

Ⅳ Nginx中怎麼限制某個IP同一時間段的訪問次數

如何設置能限制某個IP某一時間段的訪問次數是一個讓人頭疼的問題,特別面對惡意的ddos攻擊的時候。其中CC攻擊(Challenge Collapsar)是DDOS(分布式拒絕服務)的一種,也是一種常見的網站攻擊方法,攻擊者通過代理伺服器或者肉雞向向受害主機不停地發大量數據包,造成對方伺服器資源耗盡,一直到宕機崩潰。
cc攻擊一般就是使用有限的ip數對伺服器頻繁發送數據來達到攻擊的目的,nginx可以通過HttpLimitReqMol和HttpLimitZoneMole配置來限制ip在同一時間段的訪問次數來防cc攻擊。
HttpLimitReqMol用來限制連單位時間內連接數的模塊,使用limit_req_zone和limit_req指令配合使用來達到限制。一旦並發連接超過指定數量,就會返回503錯誤。
HttpLimitConnMol用來限制單個ip的並發連接數,使用limit_zone和limit_conn指令
這兩個模塊的區別前一個是對一段時間內的連接數限制,後者是對同一時刻的連接數限制

文章目錄
1 HttpLimitReqMol 限制某一段時間內同一ip訪問數實例
2 HttpLimitZoneMole 限制並發連接數實例
3 nginx白名單設置
HttpLimitReqMol 限制某一段時間內同一ip訪問數實例
http{
...

#定義一個名為allips的limit_req_zone用來存儲session,大小是10M內存,
#以$binary_remote_addr 為key,限制平均每秒的請求為20個,
#1M能存儲16000個狀態,rete的值必須為整數,
#如果限制兩秒鍾一個請求,可以設置成30r/m

limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
...
server{
...
location {
...

#限制每ip每秒不超過20個請求,漏桶數burst為5
#brust的意思就是,如果第1秒、2,3,4秒請求為19個,
#第5秒的請求為25個是被允許的。
#但是如果你第1秒就25個請求,第2秒超過20的請求返回503錯誤。
#nodelay,如果不設置該選項,嚴格使用平均速率限制請求數,
#第1秒25個請求時,5個請求放到第2秒執行,
#設置nodelay,25個請求將在第1秒執行。

limit_req zone=allips burst=5 nodelay;
...
}
...
}
...
}

Ⅵ 鎬庝箞紱佹㈡煇涓猧p璁塊棶 ubuntu nginx

Nginx鍙浠ヨ劇疆紱佹㈤氳繃IP璁塊棶鐨勩
鍦ㄤ換涓鏈夋晥鐨凬ginx閰嶇疆鏂囦歡涓鍔犱笂浠ヤ笅涓孌

# forbidden use ip address access
server {
listen 80 default_server;
server_name _;
return 444;
}
鍏跺疄鎬濊礬寰堢畝鍗曪紝灝辨槸鐢↖P璁塊棶鐨勬椂鍊欙紝榪斿洖444閿欒

熱點內容
跨象限編程 發布:2024-05-08 07:58:37 瀏覽:61
java多對一 發布:2024-05-08 07:58:33 瀏覽:641
蘋果怎麼創建文件夾 發布:2024-05-08 07:53:34 瀏覽:916
html連接sql資料庫 發布:2024-05-08 07:53:28 瀏覽:736
網易雲盤無法上傳 發布:2024-05-08 07:48:42 瀏覽:597
python浮點數取整 發布:2024-05-08 07:15:07 瀏覽:137
二手汽車解壓程序 發布:2024-05-08 07:14:13 瀏覽:514
android和php最佳實踐 發布:2024-05-08 07:10:07 瀏覽:852
安卓手機屏幕變了顏色怎麼回事 發布:2024-05-08 07:09:56 瀏覽:450
安卓手機怎麼拍人物和場景 發布:2024-05-08 06:55:39 瀏覽:281