V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
godleon
V2EX  ›  问与答

请教大佬们一个接口访问问题;

  •  
  •   godleon · 29 天前 · 635 次点击

    场景

    接口是 Java 提供的,打包部署到阿里云服务器,nginx 代理;
    
    目前项目部署好后,没有域名,通过 ip+port 访问;
    

    需求

    我家里有 5 台笔记本连一个 wifi ;
    
    现在我想这个服务器的接口,只能让我这 5 台电脑访问;
    
    有办法实现吗
    

    PS

    不支持本地局域网部署项目
    
    10 条回复    2024-04-01 19:18:17 +08:00
    Eiden
        1
    Eiden  
       29 天前
    只能接口加鉴权吧
    realqinze
        2
    realqinze  
       29 天前
    通过 nginx 限制一下访问应该就可以了。
    例:
    server {
    listen 80;
    server_name _;

    location / {
    # 代理设置到你的 Java 应用
    proxy_pass http://127.0.0.1:8080;

    # 允许的 IP 地址
    allow 123.123.123.123; # 你家里的公共 IP 地址
    deny all; # 拒绝所有其他 IP 地址
    }
    }
    yunv2
        3
    yunv2  
       29 天前
    1.nginx 限制 ip ;

    2. frp 的 stcp 模式,转换为本机 ip 访问;
    vacuitym
        4
    vacuitym  
       29 天前
    最简单的是 ng 那边加 ip 白名单;麻烦点的就是加鉴权( 1 、最简单的鉴权直接检查头部有个设定好的 k-v 。2 、麻烦点就是加密签名这些)
    BiChengfei
        5
    BiChengfei  
       29 天前
    阿里云控制台,直接设置 IP 白名单
    bubble21
        6
    bubble21  
       29 天前
    控制台安全组+1
    Annual
        7
    Annual  
       29 天前
    打个洞,其余都给屏蔽 6666
    lx01xsz
        8
    lx01xsz  
       29 天前 via iPhone
    在这台阿里云服务器上或者再开个服务器部署 Wireguard

    ( PS: 如果有公网 IP 可忽略这步 )

    Nginx 端配置
    ```
    geo $remote_addr $allowed_traffic {
    default false;
    include whitelist.conf;
    }
    ```

    Example whitelist.conf
    ```
    <your_vpn_node_ip_address> true;
    ```
    lx01xsz
        9
    lx01xsz  
       29 天前 via iPhone
    @lx01xsz false 的直接 return 444
    xmumiffy
        10
    xmumiffy  
       29 天前
    配置阿里云的防火墙也行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1074 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:15 · PVG 02:15 · LAX 11:15 · JFK 14:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.