一、前言

有时候,web平台上线后,需要屏蔽某个服务接口,但又不想重新上线,可以采用nginx屏蔽指定平台接口的办法。

二、具体操作

在nginx的配置文件nginx.conf文件的server节点中,添加一个location,示例如下:

location /your url {
  return 403;
}

这里具体以nginx自带nginx.conf为例,屏蔽根URL路径/:

屏蔽前

location / {
  root  html;
  index index.html index.htm;
}

访问nginx index.html页面结果如下:

屏蔽后

location / {
  return 403;
  root  html;
  index index.html index.htm;
}

访问nginx index.html页面结果如下:

修改完nginx.conf配置文件后,不用重启nginx,执行命令nginx -s reload重新加载配置文件,修改的规则即可生效。

补充知识:nginx屏蔽特定http_referer的请求

在nginx.conf的server配置项中加入

if ($http_referer ~* "www.xxx.com") {
  return 403;
}