前言:
当前兄弟们对“nginx请求ip地址”可能比较关心,你们都想要知道一些“nginx请求ip地址”的相关内容。那么小编同时在网摘上网罗了一些有关“nginx请求ip地址””的相关知识,希望同学们能喜欢,姐妹们一起来了解一下吧!NGINX Web 服务器安全加固有多种方法,其中一种是基于 IP 地址的访问控制。本指南解释了如何通过在 NGINX 中基于客户端的 IP 地址控制访问来保护 Web 应用程序。
NGINX中基于客户端IP地址控制访问
NGINX 中的ngx_http_access_module模块可以限制对某些客户端 IP 地址的访问。您可以使用允许和拒绝指令激活它。
顾名思义,allow 指令允许访问特定的 IP 地址、网络、Unix 套接字或全部(前面实体的关键字),而拒绝指令拒绝访问特定的 IP 地址、网络、Unix 套接字或全部。
这两个指令在HTTP、服务器、位置以及limit_except上下文中都是有效的。下面是在位置上下文中使用允许和拒绝指令来限制对 API 服务的访问的示例:
upstream app_api { keepalive 100; server 10.1.1.50:5000; server 10.1.1.71:5001;}server { listen 80; server_name _; access_log /var/log/nginx/app_api_access.log main; error_log /var/log/nginx/app_api_error.log debug; root /usr/share/nginx/html/; location / { try_files $uri /api; } location /api { proxy_read_timeout 3600; proxy_connect_timeout 3600s; keepalive_timeout 15; send_timeout 300; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass ; #list of allowed IPs to access API allow 10.10.10.20; allow 10.10.40.29; allow 192.168.2.23; allow 192.168.10.0/24; deny all; }}
在上面的示例中,仅允许10.10.10.20、10.10.40.29、192.168.2.23 IP 地址以及192.168.10.0/24网络中的任何 IP 地址访问任何代理 API 端点的请求。来自任何其他 IP 地址或网络或 UNIX 域套接字的请求将被拒绝。
NGINX 将向客户端响应 403 禁止错误,如图所示。
当您检查/var/log/nginx/app_api_error.log错误日志时,您会发现类似于以下屏幕截图中的条目:
# cat /var/log/nginx/app_api_error.log debug
本指南在NGINX中基于客户端IP地址控制访问到此结束,你比较常用那一种呢?
标签: #nginx请求ip地址