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

如何实现从外网访问本地电脑部署的Directus 9服务?

公网访问本地Directus服务配置步骤

你猜测的http://xx.xxx.xx.xx/yyy.yyy.y.yy格式的访问地址是无效的,公网访问本地服务需按以下步骤配置:

1. 确认公网IP属性

首先验证你拿到的公网IP是否为运营商分配的真实公网IP:

  • 登录你家路由器管理后台,查看WAN口显示的IP地址
  • 和你查询到的xx.xxx.xx.xx做对比,二者一致为真实公网IP;如果不一致说明运营商给你分配的是内网IP,需要先联系运营商申请公网IP,一般说明是家用监控需求都会通过。

2. 配置路由器端口映射(仅真实公网IP场景需要)

登录路由器后台找到「虚拟服务器/端口映射/NAT配置」入口,新增映射规则:

  • 外部端口:填你对外提供服务的端口,没有特殊需求可填80、8080等未被运营商封禁的端口
  • 内部IP:填你本地电脑的私网IP yyy.yyy.y.yy
  • 内部端口:填你本地Nginx监听的端口,如果你没有修改过Nginx默认配置则填80,也可以直接填Directus的服务端口8055
  • 协议选择TCP,保存后重启路由器生效。

3. 调整本地防火墙与服务配置

  • 确认本地电脑防火墙的端口入站规则,对应Nginx/Directus的端口允许规则要适配所有网络类型,不要仅开放专用网络权限
  • 修改Nginx配置,确保server块没有绑定127.0.0.1,参考配置如下:
server {
    listen 80;
    server_name xx.xxx.xx.xx;

    location / {
        proxy_pass http://localhost:8055;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  • 修改Directus根目录的.env配置,将PUBLIC_URL参数改为对外访问地址:PUBLIC_URL="http://xx.xxx.xx.xx",避免静态资源加载失败。

4. 访问测试

配置完成后,外网设备断开你家WIFI,用流量访问http://xx.xxx.xx.xx即可,如果你映射的外部端口不是80,需要在地址后加端口号,比如外部端口为8080则访问http://xx.xxx.xx.xx:8080。

无公网IP的替代方案

如果无法拿到公网IP,可以使用内网穿透工具,比如frp、ngrok、cpolar等,将本地Nginx/Directus端口映射到公网,拿到穿透工具提供的公网访问地址即可正常访问。
如果你的公网IP是动态的,每次路由器重启都会变更,可以额外配置DDNS动态域名解析,绑定域名即可不用每次换IP都修改访问地址。

内容的提问来源于stack exchange,提问作者uss-code

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:09:03