Nginx屏蔽頭部攻擊實(shí)現(xiàn)方式
Nginx屏蔽頭部攻擊 多IP
nginx正則表達(dá)式:
- 區(qū)分大小寫匹配: ~
- 不區(qū)分大小寫匹配: ~*
- 區(qū)分大小寫不匹配: !~
- 不區(qū)分大小寫匹配: !~*
nginx 地址重寫
rewrite語句格式
rewrite regex replacement flag;
flag: break、last、redirect、permanent
- –last:停止執(zhí)行其他重寫規(guī)則,根據(jù)URI繼續(xù)搜索其他location,地址欄不改變
- –break:停止執(zhí)行其他的重寫規(guī)則,完成本次請求。
- –redirect:302臨時重定向,地址欄改變,爬蟲不更新URI
- –permanent:301永久重定向,地址欄改變,爬蟲更新URI
location / {
root html;
index index.html index.htm;
rewrite "/a.html$" /b.html;
}
nginx域名跳轉(zhuǎn)
www.a.com ---> www.c.a.cn
server {
listen 80;
server_name www.a.com;
location / {
root html;
index index.html index.htm;
rewrite ^/(.*) www.c.a.cn/$1;
}
}
簡單配置nginx.conf
server {
listen 80;
server_name name1 name2; ##name可以為域名或者ip
if ($http_Host !~* ^name1|name2$) ##name1和name2之間 連接符“|”無任何空格,有空格報錯,如果是單域名(ip)省略“|name2”格式為“$http_Host !~* ^name1$”
{
return 403;
}
location ........
}
nginx -s reload ##重新加載配置文件
禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {undefined
return 403;
}
禁止敏感信息泄露及點(diǎn)擊劫持等
# 設(shè)置一個無效的值以避免觸發(fā)真實(shí)的主機(jī)名 server_name _; server_name_in_redirect off; #不顯示版本號 server_tokens off; ##添加配置,保證不缺失"Content-Security-Policy"頭,當(dāng)你有很多映射,代理,外網(wǎng)鏈接時慎用 add_header Content-Security-Policy "default-src 'self' ip:port 'unsafe-inline' 'unsafe-eval' blob: data: ;"; ###添加配置,保證不缺失"X-Content-Type-Options"頭 add_header X-Content-Type-Options nosniff; ###添加配置,保證不缺失"X-XSS-Protection"頭 add_header X-XSS-Protection "1; mode=block"; ####添加配置,保證不點(diǎn)擊劫持:X-Frame-Options頭 add_header Strict-Transport-Security "max-age=***; includeSubdomains;"; add_header X-Frame-Options:DENY; #"SAMEORIGIN" add_header 'Referrer-Policy' 'origin'; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
nginx限制ip并發(fā)連接和請求
nginx限制ip并發(fā)連接和請求有兩個模塊,不需要重新編譯安裝,nginx默認(rèn)已經(jīng)集成。
- limit_req_zone:限制請求數(shù)
- limit_conn_zone:限制并發(fā)連接數(shù)
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
- #zone:=one:10m :設(shè)置一個名字為one,大小為10M的緩存空間
- #rate=10r/s: 限制訪問速率,此處設(shè)置為每秒接受10個請求(nging里是按ms及時的,此處為s)
nginx壓力測試
其他常見的壓力測試軟件:http_load、webbench、siege
ab -c 1 -n 10 http://192.168.174.11/ ##-c并發(fā)數(shù) -n 請求次數(shù)、
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
windows查看nginx是否啟動及常用命令小結(jié)
這篇文章主要給大家介紹了關(guān)于windows查看nginx是否啟動及常用命令的相關(guān)資料,在Windows系統(tǒng)中,可以使用以下命令來操作和管理Nginx,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Nginx代理MySQL實(shí)現(xiàn)通過域名連接數(shù)據(jù)庫的詳細(xì)教程
我們的生產(chǎn)環(huán)境基本上都部署在云服務(wù)器上,例如應(yīng)用服務(wù)器、MySQL服務(wù)器等,如果MySQL服務(wù)器直接暴露在公網(wǎng),就會存在很大的風(fēng)險,為了保證數(shù)據(jù)安全,MySQL服務(wù)器的端口是不對外開放的,所以本文介紹了Nginx代理MySQL實(shí)現(xiàn)通過域名連接數(shù)據(jù)庫的詳細(xì)教程2024-07-07
nginx配置選項(xiàng)try_files的用法及說明
這篇文章主要介紹了nginx配置選項(xiàng)try_files的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-10-10
阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程)
這篇文章主要介紹了阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Mac上搭建nginx+rtmp直播服務(wù)器的步驟詳解
最近的直播很火,所以這篇文章跟大家分享了在Mac上搭建nginx+rtmp直播服務(wù)器的步驟,文章通過一步步圖文介紹的很詳細(xì),有需要的朋友們可以參考借鑒。2016-09-09

