Nginx 应用
一、默認網站
server {listen 80;server_name localhost;location / {root html;index index.html index.htm;#支持目錄瀏覽autoindex on;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;} }二、訪問控制
location /a {autoindex on;allow 192.168.12.0/24;deny all;#基于客戶端IP做過濾,符合條件的允許訪問,不符合的返回404;if ( $remote_addr !~ "192.168.12" ) {#return 404;return http://book.ayitula.com;} }三、登陸驗證
location /c {auth_basic "登陸驗證";auth_basic_user_file /etc/nginx/htpasswd; }四、日志管理
Nginx訪問日志主要有兩個參數控制
log_format #用來定義記錄日志的格式(可以定義多種日志格式,取不同名字即可)
access_log #用來指定日至文件的路徑及使用的何種日志格式記錄日志
access_log logs/access.log main;
log_format格式變量:$remote_addr #記錄訪問網站的客戶端地址$remote_user #遠程客戶端用戶名$time_local #記錄訪問時間與時區$request #用戶的http請求起始行信息$status #http狀態碼,記錄請求返回的狀態碼,例如:200、301、404等$body_bytes_sent #服務器發送給客戶端的響應body字節數$http_referer #記錄此次請求是從哪個連接訪問過來的,可以根據該參數進行防盜鏈設置。$http_user_agent #記錄客戶端訪問信息,例如:瀏覽器、手機客戶端等$http_x_forwarded_for #當前端有代理服務器時,設置web節點記錄客戶端地址的配置,此參數生效的前提是代理服務器也要進行相關的x_forwarded_for設置自定義一個json格式的訪問日志
log_format main_json '{"@timestamp":"$time_local",''"client_ip": "$remote_addr",''"request": "$request",''"status": "$status",''"bytes": "$body_bytes_sent",''"x_forwarded": "$http_x_forwarded_for",''"referer": "$http_referer"''}'; access_log logs/access_json.log main_json;日志截斷
mv access.log access.log.0 killall -USR1 `cat master.nginx.pid` sleep 1 gzip access.log.0五、防盜鏈
location /images/ { alias /data/images/; valid_referers none blocked *.ayitula.com;if ($invalid_referer) {rewrite ^/ http://www.ayitula.com/daolian.gif;#return 403;} }總結
- 上一篇: Jenkins 权限配置与集群配置
- 下一篇: Nginx 虚拟主机