godleon
V2EX  ›  问与答

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

  •  
  •   godleon · Apr 1, 2024 · 1833 views
    This topic created in 957 days ago, the information mentioned may be changed or developed.

    场景

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

    需求

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

    PS

    不支持本地局域网部署项目
    
    10 replies  •  2024-04-01 19:18:17 +08:00
    Eiden
    Eiden
    Apr 1, 2024
    1
    只能接口加鉴权吧
    realqinze
    realqinze
    Apr 1, 2024
    2
    通过 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
    yunv2
    Apr 1, 2024
    3
    1.nginx 限制 ip ;

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

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

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

    Example whitelist.conf
    ```
    <your_vpn_node_ip_address> true;
    ```
    lx01xsz
    lx01xsz
    Apr 1, 2024 via iPhone
    9
    @lx01xsz false 的直接 return 444
    106npo
    106npo
    Apr 1, 2024
    10
    配置阿里云的防火墙也行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    ♥ Do have faith in what you're doing.