nginx 配置文件针对性处理
日志文件配置:
指定日志位置句法:
access_log logs/access.log main;
logs/access.log相对路径下的日志路径
main: 日志的显示句法
main的格式如下:下面的变量都是nginx自带的,一般来说,调试已经足够了
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
关闭日志句法:
access_log off;
特别说明:
一个机器里如果http下有多个server。server自己也配置了自己的access_log句法。则内部会覆盖全局的日志文件配置。
实际应用中注意这一点
使用nginx 的 header过滤http请求:
在某次用户环境中,用户要求服务只能在指定的自集成web里访问,屏蔽一切其他的浏览器访问。因此想到了用Http的header来做判断。通常http的header中的http_user_agent会记录浏览器类型,系统类型,浏览器内核等信息。通过在请求时修改该信息,然后使用nginx做header的过滤,达到只有指定的工具能够访问。
现在很多服务都是http请求实现的,感觉应该蛮实用的。网上还有用http_user_agent实现安卓,pc,苹果等系统的区分。
下面是实际应用中的规则。主要是集成服务器中添加了logstack这个字符串,因此做这个的过滤,对其它的直接跳到403错误页面。
set $mobile_request '0';
if ($http_user_agent ~* (abc)) { #这个等号很有意思吧
set $mobile_request '1';
}
if ($http_user_agent ~* (.*)logstack(.*)) {
set $mobile_request '1';
}
if ($mobile_request = '0') {
rewrite ^.+ /403.html;
}

浙公网安备 33010602011771号