ITPub博客

首页 > > > nginx从入门到精通-默认网站

nginx从入门到精通-默认网站

作者:zhmw 时间:2019-12-04 15:31:55 0 删除 编辑

默认网站

默认网站

访问控制

用户验证

日志管理

防盗链

一、默认网站

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;

}

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69901620/viewspace-3165553/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-12-04

  • 博文量
    295
  • 访问量
    9529