摘要:使用問(wèn)題及解決方法常見(jiàn)問(wèn)題問(wèn)題一相同多個(gè)虛擬主機(jī)優(yōu)先級(jí)訪問(wèn)解決方法配置兩個(gè)文件和根據(jù)系統(tǒng)中文件順序讀取問(wèn)題二匹配優(yōu)先級(jí)知識(shí)填坑進(jìn)行普通字符精確匹配,完全匹配普通字符匹配,使用前綴匹配表示執(zhí)行一個(gè)正則匹配解決方法根據(jù)匹配找到最優(yōu)匹配優(yōu)先級(jí)完全
nginx使用問(wèn)題及解決方法 常見(jiàn)問(wèn)題
問(wèn)題一:相同server_name多個(gè)虛擬主機(jī)優(yōu)先級(jí)訪問(wèn)
server{ listen 80; server_name server1; location{...} } server{ listen 80; server_name server2; location{...} }
解決方法:
配置兩個(gè)conf文件:server1.conf 和 server2.conf
根據(jù)Linux系統(tǒng)中文件順序讀取
問(wèn)題二:location匹配優(yōu)先級(jí)
location = /code1/ { rewrite ^(.*)$ /code1/index.html break; } location ~ /code.* { rewrite ^(.*)$ /code3/index.html break; } location ^~ /code { rewrite ^(.*)$ /code2/index.html break; }
知識(shí)填坑:
=:進(jìn)行普通字符精確匹配,完全匹配
^~:普通字符匹配,使用前綴匹配
~ ~*:表示執(zhí)行一個(gè)正則匹配()
解決方法:
根據(jù)匹配找到最優(yōu)匹配
優(yōu)先級(jí):完全匹配>正則匹配>前綴匹配
問(wèn)題三:try_files使用
location / { try_files $uri $uri/ /index.html; }
解決方法:
按順序檢查文件是否存在
問(wèn)題四:Nginx的alias和root區(qū)別
location /request_path/img/ { root /local_path/img/; } location /request_path/img/ { alias /local_path/img/; }
解決方法:
root設(shè)置,最終請(qǐng)求的路徑為/local_path/img/request_path/img/
alias設(shè)置,最終請(qǐng)求為/local_path/img/
問(wèn)題五:通過(guò)多層代理,傳遞用戶真實(shí)IP
解決方法:
set x_real_ip=$remote_addr $x_real_ip=真實(shí)IP性能優(yōu)化問(wèn)題
優(yōu)化考慮點(diǎn):
當(dāng)前系統(tǒng)結(jié)構(gòu)瓶頸,如觀察指標(biāo)、壓力測(cè)試
了解業(yè)務(wù)模式,如接口業(yè)務(wù)類型、系統(tǒng)層次化結(jié)構(gòu)
性能與安全
接口壓力測(cè)試工具:ab
安裝:yum install httpd-tools
使用:ab -n 2000 -c 20 http://127.0.0.1/
nginx關(guān)于系統(tǒng)的優(yōu)化點(diǎn):
網(wǎng)絡(luò)、系統(tǒng)、服務(wù)、程序、數(shù)據(jù)庫(kù)
控制文件句柄數(shù)量,文件句柄就是一個(gè)索引
CPU親和,使進(jìn)程不會(huì)在處理器間頻繁遷移,減少性能損耗
vim /etc/nginx/nginx.conf user nginx; worker_processes 16; worker_cpu_affinity auto; worker_rlimit_nofile 15535; events{ use epoll; worker_connections 10240; } http{ include /etc/nginx/mime.types; default_type application/octet-stream; #Charset charset utf-8; log_format main ""; access_log /var/log/nginx/access.log main; #Core module sendfile on; keepalive_timeout 65; #Gzip module gzip on; gzip_disable "MSIE [1-6]."; gzip_http_version 1.1; #Virtal server include /etc/nginx/conf.d/*.conf; }nginx安全問(wèn)題及防范策略 惡意行為
問(wèn)題:爬蟲行為和惡意抓取、資源盜用
解決方法:
基礎(chǔ)防盜鏈功能:不讓惡意用戶輕易的爬取網(wǎng)站對(duì)外數(shù)據(jù)
secure_link_module模塊:對(duì)數(shù)據(jù)安全性提高加密驗(yàn)證和失效性,對(duì)一些重要數(shù)據(jù)使用
access_module模塊:對(duì)后臺(tái)、部分用戶服務(wù)的數(shù)據(jù)提供IP監(jiān)控,如規(guī)定IP等
應(yīng)用層攻擊問(wèn)題一:后臺(tái)密碼撞庫(kù),通過(guò)密碼字典不斷對(duì)后臺(tái)系統(tǒng)登錄性嘗試,獲取后臺(tái)密碼
解決方法:
后臺(tái)密碼復(fù)雜的,大小寫數(shù)字字符等
預(yù)警機(jī)制,同一IP的頻繁訪問(wèn)
access_module模塊:對(duì)后臺(tái)、部分用戶服務(wù)的數(shù)據(jù)提供IP監(jiān)控
問(wèn)題二:文件上傳漏洞,利用可以上傳的接口將惡意代碼植入服務(wù)器中,再通過(guò)url訪問(wèn)以執(zhí)行
解決方法:
針對(duì)一些木馬和后綴等做一定的處理
location ^~ /upload{ root /usr/share/html; if($request_filename ~*(.*).php){ return 403; #拒絕訪問(wèn) } }
問(wèn)題三:SQL注入,利用未過(guò)濾或未審核的用戶輸入的攻擊手段,讓應(yīng)用運(yùn)行本不應(yīng)該運(yùn)行的SQL代碼
解決方法:
針對(duì)" or 1=1 #等常見(jiàn)注入代碼進(jìn)行檢測(cè)
搭建安全waf,針對(duì)滲透規(guī)則寫正則表達(dá)式
nginx防攻擊策略使用nginx+Lua搭建安全waf防火墻
防火墻功能:
攔截Cookie類型攻擊
攔截異常post請(qǐng)求
攔截cc攻擊,頻繁訪問(wèn)
攔截URL,不想暴露的接口
攔截arg參數(shù)
推薦已寫好waf:https://github.com/loveshell/...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39728.html
摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過(guò)程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...
摘要:所以單頁(yè)應(yīng)用的部署,需要將所有的頁(yè)面請(qǐng)求都返回,瀏覽器下載了后會(huì)自動(dòng)解析并導(dǎo)航到對(duì)應(yīng)頁(yè)面??偨Y(jié)單頁(yè)應(yīng)用與以前的常規(guī)多頁(yè)面應(yīng)用還是有區(qū)別的,開(kāi)發(fā)過(guò)程與后端解耦了,同時(shí)會(huì)出現(xiàn)跨域鑒權(quán)以及應(yīng)用部署的問(wèn)題。 本文同步發(fā)布于我的個(gè)人博客上 - 單頁(yè)應(yīng)用的部署方案 本文主要簡(jiǎn)單講一下單頁(yè)應(yīng)用的開(kāi)發(fā)及部署方法,默認(rèn)你懂一些服務(wù)端知識(shí)及nginx知識(shí),如果有任何可以在下方評(píng)論留言。 單頁(yè)應(yīng)用 SPA(...
摘要:現(xiàn)在使用的各種哈希函數(shù)基本上只能保證較小概率出現(xiàn)兩個(gè)不同的其相同的情況。而出現(xiàn)兩個(gè)值對(duì)應(yīng)的相同的情況,稱為哈希沖突。中的哈希表需要指出的是,中自造的哈希表屬于內(nèi)部使用的數(shù)據(jù)結(jié)構(gòu),因此,并不是一個(gè)通用的哈希表。 源文件路徑 版本:1.8.0 csrccoreNgx_hash.h srccoreNgx_hash.c 關(guān)于hash表 Nginx實(shí)現(xiàn)的hash表和常見(jiàn)的hash表大體...
閱讀 2566·2023-04-26 01:44
閱讀 2577·2021-09-10 10:50
閱讀 1420·2019-08-30 15:56
閱讀 2286·2019-08-30 15:44
閱讀 524·2019-08-29 11:14
閱讀 3428·2019-08-26 11:56
閱讀 3025·2019-08-26 11:52
閱讀 920·2019-08-26 10:27