Тасаввур кунед, ки вазъият: шумо рамзи статистӣ доред ва шумо бисёр вақт ва дар муддати кӯтоҳ ба таҳрири сомона машғулед. Ҳамзамон, шумо ҳанӯз зарур аст, ки мониторинг, давра ба давра, хатогиҳо дар саволномаҳо ё сканерҳо барои осебпазирӣ. Ва шумораи зиёди сабтҳо бо IP-и шумо ба дидани қайдҳо душвор аст.
Бо ёрии вурудоти шартӣ, ки дар nginx дастрас аст, аз версияи 1.7.0 сар карда, мо метавонем ранги суроғаро тафтиш карда, онро дар файли log сабт накунем. Дар ҳақиқат, чаро ин корро анҷом медиҳад, агар IP-ро қайд кунед, зарур нест?
Барои илова кардани ин гуна истисно, шумо бояд варианти шартиро дар асоси map_module эҷод кунед . Натиҷаи ҳисобкунии сабти шартӣ дар маҷмӯъ ба қайд гирифта нашудааст, агар он ба 0 баробар бошад. Қоида чунин хоҳад буд:
харитаи $ remote_addr $ loggable { "127.0.0.1" 0; "1" 0; default 1; }}
Ин аст, ки натиҷаҳои пешакӣ 1, ва барои ip - 0 муайян карда мешаванд ва онҳо дар рӯйхат сабт карда намешаванд. Варианти 4 ва 6-и протокол дастгирӣ карда мешаванд. Дар хотир доред, ки дар ин ҷо тағирёбандаи аввал суроғаи муштарии пайвасткунанда мебошад. Ва дараҷаи дуввум бояд дар параметрҳои дастрасӣ сабт карда шавад.
access_log /var/log/nginx/access.log ҷамъ меоваранд агар = loggable;
Блоки харита низ метавонад дар сатҳи http
и танзимоти nginx ва дар сатри server
муайян карда шавад.
Ҳудуди дигар иттилоот аз logs
Бастани баҳисобгирии махсуси IP танҳо як намунаи бисёр аст. Шумо метавонед аз тағйирёбии гуногун аз стандарт истифода баред.
Биёед мисолро ба рӯйхат гузоред. Барои ин, чунин блокро офаред:
харита $ request_uri $ loggable { ~ * error.html 0; default 1; }}
Ва агар, ки дар боло зикр шавад, агар параметри ҳамчун argument ба параметҳои access_log нависед. Баъд аз бозгаштан nginx, ҳамаи дархостҳо барои error.html навишта намешаванд. Аз ҷумла намудҳои намуди error.html?q=search
. Барои мувофиқати дақиқ, шумо бояд як навъи ифодаи муқаррариро нависед.