摘要:使用問題及解決方法常見問題問題一相同多個虛擬主機優先級訪問解決方法配置兩個文件和根據系統中文件順序讀取問題二匹配優先級知識填坑進行普通字符精確匹配,完全匹配普通字符匹配,使用前綴匹配表示執行一個正則匹配解決方法根據匹配找到最優匹配優先級完全
nginx使用問題及解決方法 常見問題
問題一:相同server_name多個虛擬主機優先級訪問
server{ listen 80; server_name server1; location{...} } server{ listen 80; server_name server2; location{...} }
解決方法:
配置兩個conf文件:server1.conf 和 server2.conf
根據Linux系統中文件順序讀取
問題二:location匹配優先級
location = /code1/ { rewrite ^(.*)$ /code1/index.html break; } location ~ /code.* { rewrite ^(.*)$ /code3/index.html break; } location ^~ /code { rewrite ^(.*)$ /code2/index.html break; }
知識填坑:
=:進行普通字符精確匹配,完全匹配
^~:普通字符匹配,使用前綴匹配
~ ~*:表示執行一個正則匹配()
解決方法:
根據匹配找到最優匹配
優先級:完全匹配>正則匹配>前綴匹配
問題三:try_files使用
location / { try_files $uri $uri/ /index.html; }
解決方法:
按順序檢查文件是否存在
問題四:Nginx的alias和root區別
location /request_path/img/ { root /local_path/img/; } location /request_path/img/ { alias /local_path/img/; }
解決方法:
root設置,最終請求的路徑為/local_path/img/request_path/img/
alias設置,最終請求為/local_path/img/
問題五:通過多層代理,傳遞用戶真實IP
解決方法:
set x_real_ip=$remote_addr $x_real_ip=真實IP性能優化問題
優化考慮點:
當前系統結構瓶頸,如觀察指標、壓力測試
了解業務模式,如接口業務類型、系統層次化結構
性能與安全
接口壓力測試工具:ab
安裝:yum install httpd-tools
使用:ab -n 2000 -c 20 http://127.0.0.1/
nginx關于系統的優化點:
網絡、系統、服務、程序、數據庫
控制文件句柄數量,文件句柄就是一個索引
CPU親和,使進程不會在處理器間頻繁遷移,減少性能損耗
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安全問題及防范策略 惡意行為
問題:爬蟲行為和惡意抓取、資源盜用
解決方法:
基礎防盜鏈功能:不讓惡意用戶輕易的爬取網站對外數據
secure_link_module模塊:對數據安全性提高加密驗證和失效性,對一些重要數據使用
access_module模塊:對后臺、部分用戶服務的數據提供IP監控,如規定IP等
應用層攻擊問題一:后臺密碼撞庫,通過密碼字典不斷對后臺系統登錄性嘗試,獲取后臺密碼
解決方法:
后臺密碼復雜的,大小寫數字字符等
預警機制,同一IP的頻繁訪問
access_module模塊:對后臺、部分用戶服務的數據提供IP監控
問題二:文件上傳漏洞,利用可以上傳的接口將惡意代碼植入服務器中,再通過url訪問以執行
解決方法:
針對一些木馬和后綴等做一定的處理
location ^~ /upload{ root /usr/share/html; if($request_filename ~*(.*).php){ return 403; #拒絕訪問 } }
問題三:SQL注入,利用未過濾或未審核的用戶輸入的攻擊手段,讓應用運行本不應該運行的SQL代碼
解決方法:
針對" or 1=1 #等常見注入代碼進行檢測
搭建安全waf,針對滲透規則寫正則表達式
nginx防攻擊策略使用nginx+Lua搭建安全waf防火墻
防火墻功能:
攔截Cookie類型攻擊
攔截異常post請求
攔截cc攻擊,頻繁訪問
攔截URL,不想暴露的接口
攔截arg參數
推薦已寫好waf:https://github.com/loveshell/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39728.html
摘要:所以單頁應用的部署,需要將所有的頁面請求都返回,瀏覽器下載了后會自動解析并導航到對應頁面。總結單頁應用與以前的常規多頁面應用還是有區別的,開發過程與后端解耦了,同時會出現跨域鑒權以及應用部署的問題。 本文同步發布于我的個人博客上 - 單頁應用的部署方案 本文主要簡單講一下單頁應用的開發及部署方法,默認你懂一些服務端知識及nginx知識,如果有任何可以在下方評論留言。 單頁應用 SPA(...
摘要:現在使用的各種哈希函數基本上只能保證較小概率出現兩個不同的其相同的情況。而出現兩個值對應的相同的情況,稱為哈希沖突。中的哈希表需要指出的是,中自造的哈希表屬于內部使用的數據結構,因此,并不是一個通用的哈希表。 源文件路徑 版本:1.8.0 csrccoreNgx_hash.h srccoreNgx_hash.c 關于hash表 Nginx實現的hash表和常見的hash表大體...
閱讀 2545·2023-04-26 01:44
閱讀 2558·2021-09-10 10:50
閱讀 1411·2019-08-30 15:56
閱讀 2250·2019-08-30 15:44
閱讀 512·2019-08-29 11:14
閱讀 3417·2019-08-26 11:56
閱讀 3018·2019-08-26 11:52
閱讀 909·2019-08-26 10:27