2.1 控制访问

2.1.1 介绍

控制你的web应用或你的web应用的子网的访问是很重要的业务. 在NGINX中, 访问控制有多种形式, 像是在网络层拒绝掉, 基于认证策略的允许, 或 HTTP指令浏览器如何响应. 本章我们将讨论基于网络属性, 认证和如何防止跨域资源共享(Cross-Origin Resource Sharing(CORS))的访问控制.

2.1.2 基于IP地址的访问

问题

你需要基于客户端的IP地址的控制.

解决方案

使用HTTP访问模块来控制对受保护资源的访问:

location / {
  deny 10.0.0.1;
  allow 10.0.0.0/20;
  allow 2001:0db8::/32;
  deny all;
}

在HTTP, server, 和location上下文中, allowdeny指令提供对给出的client, IP, CIDR range, Unix socket, 或all 关键字的允许和禁止访问的能力. 规则被依次检查, 直到发现匹配的地址.

讨论

保护在互联网上的有价值的资源和服务必须在对应的层上做. NGINX提供对其中一些层的能力. deny 指令组织访问给定的上下文, allow指令可以用于限制访问. 你可以使用IP地址, IPv4或IPv6, CIDR block ranges, 关键字all, 和Unix socket. 通常要保护某个资源, 应该允许特定区域的内网IP地址, 并拒绝所有.

你可能感兴趣的:(2.1 控制访问)