30

2025Mar

Happy life lies in a peaceful mind.

幸福的生活存在于心绪的宁静之中。

nginx通过geo做访问限制

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;

geo $remote_addr $geo {
     default 0;
     #10.0.0.0/24 3;
     10.0.0.65/32 2;
     10.0.0.66/32 1;
     10.0.0.63/32 3;
  }

server {
     listen      80 default_server;
     listen       [::]:80 default_server;
     server_name  _;
     root         /usr/share/nginx/html/html;
     index  index.html;

location / {
   if ($geo = 3) {
    #return 403;
    return 200 'this is for 10.0.0.63';
    }

   if ($geo = 2) {
        return 200 'this is for 10.0.0.65';
    }

   if ($geo = 1) {
        return 200 'this is for 10.0.0.66';
   }
  }
}
}
posted @   陈雷雷  阅读(347)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
点击右上角即可分享
微信分享提示