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

如何通过IP启动Rails服务器,支持多指定域名及局域网访问

解决Rails应用局域网内自定义域名访问问题

方法一:局域网设备修改hosts(无需额外工具)

  • 第一步:获取你的局域网IP
    • Mac/Linux终端执行ifconfig,找到类似inet 192.168.1.100的条目;Windows执行ipconfig,找到IPv4地址。
  • 第二步:启动Rails服务器绑定到局域网IP
    rails s -b 你的局域网IP  # 示例:rails s -b 192.168.1.100
    
  • 第三步:让局域网内其他设备修改hosts文件
    • Windows:找到C:\Windows\System32\drivers\etc\hosts,用管理员权限打开,添加一行:
      192.168.1.100 domain1.eng.br domain2.com.br domain3.com.br
      
    • Mac/Linux:终端执行sudo nano /etc/hosts,添加上述相同内容,保存退出。
  • 完成后,其他设备就能通过domain1.eng.br等域名访问你的Rails应用,和本地访问效果一致。

方法二:使用ngrok(无需修改设备hosts)

如果不想让局域网内设备修改hosts,可以用ngrok做域名转发,步骤如下:

  1. 下载ngrok客户端(官网下载对应系统版本,解压即可使用,无需安装)。
  2. 启动本地Rails服务器:
    rails s -b 0.0.0.0  # 允许所有IP访问本地服务
    
  3. 根据需求选择ngrok使用方式:
    • 临时访问(免费版可用):直接运行以下命令,ngrok会生成一个随机公网域名,转发到本地3000端口:
      ngrok http 3000
      
      终端会输出类似https://abc123.ngrok.io的域名,把这个域名发给局域网内设备,它们就能通过这个域名访问你的应用,但无法使用你自定义的domain1.eng.br等域名。
    • 使用自定义域名(需ngrok付费版):
      • 先在ngrok后台添加你的自定义域名(如domain1.eng.br),并在域名服务商处配置CNAME记录,指向ngrok提供的目标域名。
      • 运行以下命令绑定自定义域名:
        ngrok http --domain=domain1.eng.br 3000
        
      • 重复上述命令为每个自定义域名创建隧道,这样就能用你自己的域名让局域网设备访问应用。

内容的提问来源于stack exchange,提问作者Nathan Moreira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:25:11