首页 > 其他 > 详细

nginx---return

时间:2021-06-03 23:56:11      阅读:27      评论:0      收藏:0      [点我收藏+]


return code [text]; #返回客户端指定的状态码和文本说明
return code URL;
return URL;
停止处理,并返回给客户端指定的响应码(包括: 204, 400, 402 — 406, 408, 410, 411, 413, 416, 500 — 504),并对 301, 302, 303, 307, 308跳转到URL
rewrite_log on | off;
  是否开启重写日志, 发送至error_log(notice level)
set $variable value;
  用户自定义变量
  注意:变量定义和调用都要以$开头

  

  一、使用return 拒绝特定浏览器访问,如curl

  1、返回一个空

server {
        listen 80;
        server_name www.a.net;
        root /data/site1/;
        access_log /var/log/nginx/a.net.log443 main;
        location / {
            if ( $http_user_agent ~* curl ){
                return 444;
                }
        }
}

  2、返回状态码405

server {
        listen 80;
        server_name www.a.net;
        root /data/site1/;
        access_log /var/log/nginx/a.net.log443 main;
        location / {
            if ( $http_user_agent ~* curl ){
                return 405;
                }
        }
}

  二、返回文字

server {
        listen 80;
        server_name www.a.net;
        root /data/site1/;
        access_log /var/log/nginx/a.net.log443 main;
        location / {
            if ( $http_user_agent ~* curl ){
                return 405 "Deny curl";
                }
        }
}

2、测试访问:

[18:20:23 root@localhost ~]#curl www.a.net 
Deny curl[18:22:53 root@localhost ~]#

  三、跳转其他url,如百度(返回302,临时重定向)

server {
        listen 80;
        server_name www.a.net;
        root /data/site1/;
        access_log /var/log/nginx/a.net.log443 main;
        location / {
            if ( $http_user_agent ~* curl ){
                return http://www.baidu.com;
                }
        }
}

  2、返回301 ,永久重定向

server {
        listen 80;
        server_name www.a.net;
        root /data/site1/;
        access_log /var/log/nginx/a.net.log443 main;
        location / {
            if ( $http_user_agent ~* curl ){
                return 301 http://www.baidu.com;
                }
        }
}

301 永久重定向,可以缓存,302临时重定向,307利用缓存,内部跳转

   使用curl 模拟其他任意浏览器,既可以访问

curl -A abc www.a.net
/data/site1index.html

curl -A 模拟浏览器,abc是模拟的浏览器,不一定存在

 

nginx---return

原文:https://www.cnblogs.com/alexlv/p/14846462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!