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

