You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制IP端口网站主站仅特定IP访问,同时开放/api端点?

需求完全可行,两种实现方案如下

方案一:Nginx反向代理(通用方案,无需云服务)

直接在后端服务器部署Nginx,通过路径规则配置实现IP限制:

  1. 安装Nginx后,修改配置文件(通常为/etc/nginx/nginx.conf或/etc/nginx/conf.d/your-site.conf)
  2. 添加如下server配置块:
server {
    listen 80;
    server_name 01.235.06.30; # 替换为你的服务器公网IP

    # 限制根路径仅特定IP访问
    location / {
        allow 192.168.1.100; # 替换成允许的特定IP,可添加多行allow规则
        allow 10.0.0.0/24;   # 支持网段格式
        deny all;
        proxy_pass http://127.0.0.1:7000; # 转发到后端服务的7000端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    # 开放/api路径给所有用户
    location /api {
        allow all;
        proxy_pass http://127.0.0.1:7000/api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  1. 测试配置语法:nginx -t,确认无误后重启Nginx:systemctl restart nginx
  2. 完成后,http://01.235.06.30会被IP限制,http://01.235.06.30/api可正常访问

方案二:AWS Application Load Balancer(云服务方案)

若使用AWS环境,可通过ALB的规则配置实现:

  1. 创建公网访问的Application Load Balancer,监听80端口(或需求端口)
  2. 创建目标组,目标类型选实例,端口设为7000,关联你的后端服务器
  3. 给ALB监听器添加两条规则:
    • 第一条规则:路径匹配为/,添加「源IP」条件,输入允许的IP/网段,动作设为转发到目标组
    • 第二条规则:路径匹配为/api/*,无需IP条件,直接转发到目标组
  4. 调整后端服务器安全组,仅允许ALB的安全组访问7000端口;ALB安全组开放监听端口给所有用户
  5. 用户通过ALB公网IP访问时,根路径受IP限制,/api路径完全开放

内容的提问来源于stack exchange,提问作者Veronica Ajisola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:35:19