如何在 Internet 上访问 rails 服务器上的本地主机 ruby?
How to access the localhost ruby on rails server in internet?
我正在使用 railsinstaller
http://localhost:3000/wage
下一页
http://localhost:3000/wage/results?hours=23
我尝试访问
myip:3000/wage
但是显示ERR_CONNECTION_REFUSED
我从 ipconfig-->ipv4
获取 myip
是url错误还是配置问题?
你的开始不错,但仅限于本地 LAN。
- 仅限intranet,您可以使用您的LAN ip。
从另一台本地机器(同一 LAN)测试它。希望有用。
如果您的防火墙和机器设置允许您在 Intranet 上查看,则转到下一步:
- 互联网,
首先确保您有 public 互联网地址,通过访问
http://api.ipify.org/
> 您将看到您的 public IP 地址。用它来访问您的网站 http://<public_address>:3000/
如果在内网可以,外网不行,需要在路由器中打开3000端口,转发到本地。 (如果您无权访问路由器设置,请让您的管理员帮助您)。
请提供更多详细信息以获得更完整的解决方案。
OS 你在用什么?
编辑:
对于 Windows10,您必须确保在防火墙中打开端口 3000。
- 导航到控制面板、系统和安全以及 Windows 防火墙。
- Select 高级设置并突出显示左侧窗格中的入站规则。
- 右键单击入站规则并select新建规则。
- 添加需要开启的端口,点击下一步
- 将协议(TCP或UDP)和端口号添加到下一个window中,然后单击下一步。
- 在 "Profile" 步骤 select 所有 3 个(域、私有、Public)
- Select 在下一个 window 中允许连接并点击下一步。
- Select 选择您认为合适的网络类型,然后单击“下一步”。
- 将规则命名为有意义的名称(例如:允许端口 3000 上的传入连接)并单击“完成”。
要更改默认的 3000 端口,请使用:
rails server -p 8080
更改端口
rails server -b 0.0.0.0
绑定0.0.0.0地址
更新:
服务器启动时会输出到控制台,address:port它会监听。例子:
Listening on tcp://0.0.0.0:3000
作为开发服务器,它可以设置为仅侦听本地主机请求。
要覆盖该设置,请使用:
rails server -p <3030> -b 0.0.0.0
这将监听端口 3030 上的所有传入连接
有关 -p
和 -b
的更多详细信息,请参阅帮助:
$ rails server -h
Usage: rails server [mongrel, thin etc] [options]
-p, --port=port Runs Rails on the specified port.
Default: 3000
-b, --binding=IP Binds Rails to the specified IP.
Default: localhost
-c, --config=file Uses a custom rackup configuration.
-d, --daemon Runs server as a Daemon.
-e, --environment=name Specifies the environment to run this server under (test/development/production).
Default: development
-P, --pid=pid Specifies the PID file.
Default: tmp/pids/server.pid
-C, --[no-]dev-caching Specifies whether to perform caching in development.
true or false
-h, --help Shows this help message.
我正在使用 railsinstaller
http://localhost:3000/wage
下一页
http://localhost:3000/wage/results?hours=23
我尝试访问
myip:3000/wage
但是显示ERR_CONNECTION_REFUSED
我从 ipconfig-->ipv4
是url错误还是配置问题?
你的开始不错,但仅限于本地 LAN。
- 仅限intranet,您可以使用您的LAN ip。 从另一台本地机器(同一 LAN)测试它。希望有用。
如果您的防火墙和机器设置允许您在 Intranet 上查看,则转到下一步:
- 互联网,
首先确保您有 public 互联网地址,通过访问
http://api.ipify.org/
> 您将看到您的 public IP 地址。用它来访问您的网站http://<public_address>:3000/
如果在内网可以,外网不行,需要在路由器中打开3000端口,转发到本地。 (如果您无权访问路由器设置,请让您的管理员帮助您)。
请提供更多详细信息以获得更完整的解决方案。 OS 你在用什么?
编辑:
对于 Windows10,您必须确保在防火墙中打开端口 3000。
- 导航到控制面板、系统和安全以及 Windows 防火墙。
- Select 高级设置并突出显示左侧窗格中的入站规则。
- 右键单击入站规则并select新建规则。
- 添加需要开启的端口,点击下一步
- 将协议(TCP或UDP)和端口号添加到下一个window中,然后单击下一步。
- 在 "Profile" 步骤 select 所有 3 个(域、私有、Public)
- Select 在下一个 window 中允许连接并点击下一步。
- Select 选择您认为合适的网络类型,然后单击“下一步”。
- 将规则命名为有意义的名称(例如:允许端口 3000 上的传入连接)并单击“完成”。
要更改默认的 3000 端口,请使用:
rails server -p 8080
更改端口
rails server -b 0.0.0.0
绑定0.0.0.0地址
更新:
服务器启动时会输出到控制台,address:port它会监听。例子:
Listening on tcp://0.0.0.0:3000
作为开发服务器,它可以设置为仅侦听本地主机请求。
要覆盖该设置,请使用:
rails server -p <3030> -b 0.0.0.0
这将监听端口 3030 上的所有传入连接
有关 -p
和 -b
的更多详细信息,请参阅帮助:
$ rails server -h
Usage: rails server [mongrel, thin etc] [options]
-p, --port=port Runs Rails on the specified port.
Default: 3000
-b, --binding=IP Binds Rails to the specified IP.
Default: localhost
-c, --config=file Uses a custom rackup configuration.
-d, --daemon Runs server as a Daemon.
-e, --environment=name Specifies the environment to run this server under (test/development/production).
Default: development
-P, --pid=pid Specifies the PID file.
Default: tmp/pids/server.pid
-C, --[no-]dev-caching Specifies whether to perform caching in development.
true or false
-h, --help Shows this help message.