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;              
        }
 
 
 
 
 
 
posted @ 2020-12-19 21:38  dos_hello_world  阅读(108)  评论(0)    收藏  举报