Ruby on rails 通过本地网络将Ruby/Rails连接到ipad

Ruby on rails 通过本地网络将Ruby/Rails连接到ipad,ruby-on-rails,ruby,ipad,Ruby On Rails,Ruby,Ipad,主机ip:192.168.1.2 ipad ip:192.168.1.3 在我的主机上工作时,网址是:localhost.dev:3000/sign\u in/ 当我试图通过192.168.1.2.dev:3000/sign_连接到我的ipad时,连接超时 解决我的问题的一个方法是将ipad上的wifi设置更改为手动代理: 服务器:192.168.1.2 港口:3000 现在192.168.1.2.dev工作了!有点 我现在可以登录到我的网站了,但是js似乎坏了,ipad将url改为:(),通常

主机ip:192.168.1.2

ipad ip:192.168.1.3

在我的主机上工作时,网址是:localhost.dev:3000/sign\u in/ 当我试图通过192.168.1.2.dev:3000/sign_连接到我的ipad时,连接超时

解决我的问题的一个方法是将ipad上的wifi设置更改为手动代理:

服务器:192.168.1.2

港口:3000

现在192.168.1.2.dev工作了!有点

我现在可以登录到我的网站了,但是js似乎坏了,ipad将url改为:(),通常是(),我相信这是主机lan ip的最后一个数字。我们使用一些外部托管的js文件。这可能就是它断裂的原因。启用代理时,我无法(在ipad上)浏览互联网。我错过了什么


(192.168.1.2:3000不适用于任何设备.)

经过进一步调试,我相信这是因为通过代理连接互联网

我的日志显示的确切错误是:

 CONNECT configuration.apple.com:443 HTTP/1.1
 Host: configuration.apple.com
 User-Agent: ubd/289.3 CFNetwork/672.1.14 Darwin/14.0.0
 Connection: keep-alive
 Proxy-Connection: keep-alive

 2015-04-20 11:52:54] ERROR TypeError: can't dup NilClass
 /home/pete/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httprequest.rb:279:in `dup'

因此,我认为我必须使linux也能转发我的internet?

192.168.1.6
是一个ip地址,例如您的计算机在本地网络上的地址

:3000
是一个端口号(好吧,3000是一个数字,是“:”只是将它与ip地址分开),在本例中,是Rails运行的端口

localhost.dev
是在您的计算机上设置的别名,可能用于
127.0.0.1
,这是标准的“此计算机,即“本地主机”ip地址

我根本没想到
192.168.1.2.dev
会工作,因为它不是一个有效的ip地址-它是一个ip地址,最后一位是您的别名

您应该在ipad上使用“192.168.1.2:3000”连接到本地计算机的rails服务器。您不需要更改代理设置(因此将其设置回正常)


如果你特别想在ipad上使用某个特定域名(当你访问rails应用程序时),如果你的应用程序根据其访问的域或子域显示不同的站点,这可能会很有用,那么你可以使用awesome。这可能比你需要的更复杂,听起来你只是想看看你的rails应用在ipad上的样子。

如果我是你,我会试试。这样,您就可以临时安全地将您的开发机器的localhost:3000公开到ipad上。将ngrok下载到应用程序的文件夹中,然后
解压缩/path/to/ngrok.zip

对我来说,这看起来像:
解压缩ngrok_2.0.16_darwin_amd64.zip

然后运行
rails s

最后
/ngrok http 3000

这个命令会给你一个地址,让你在ipad上点击。完成后,用
ctrl+c
杀死ngrok

我得到以下输出:

NAME:
ngrok - tunnel local ports to public URLs and inspect traffic

ngrok by @inconshreveable                                                                                              (Ctrl+C to quit)

Tunnel Status                 online
Version                       2.0.16/2.0.15
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://014da213.ngrok.io -> localhost:3000
Forwarding                    https://014da213.ngrok.io -> localhost:3000

Connnections                  ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00
在ipad中键入转发地址。对我来说,
http://014da213.ngrok.io


不需要配置

Rails不可访问,因为服务器绑定到localhost

下面是我通常使用/Bonjour和macosx的工作流程,尽管它基本上也应该与另一个操作系统和/或固定的IP地址一起工作

  • 打开系统首选项>共享以查找计算机名称:

    共享“/>

  • 将主机名添加到
    config/environments/development.rb
    中,这样您就可以使用该名称访问服务器,例如:(Rails 6+需要此名称,请参阅:Blocked host Error)

  • 假设您已启用,请使用Safari访问Mac上的URL(这样您就不必在iPad上手动输入地址)

  • 在iPad/iPhone上,打开Safari,点击Tabs图标,向下滚动并选择Rails选项卡:

  • 完成:

  • 我不确定您使用的是哪个RubyonRails版本,但在版本4左右,Rails将默认绑定地址从
    0.0.0
    更改为仅
    localhost
    。默认情况下,这只允许您通过
    localhost:3000
    127.0.0.1:3000
    访问Rails应用程序,这在大多数情况下都很好

    现在,如果您想从本地网络(或本地网络上的任何设备)上的iPad访问应用程序,您可以在启动服务器时使用
    -b
    选项,并指定绑定地址
    0.0.0

    rails s -b 0.0.0.0
    

    这将绑定到所有接口,包括本地主机和网络分配的IP。您现在应该可以通过iPad访问该应用程序。希望这有所帮助。

    “现在192.168.1.6.dev可以工作了!“-6?抱歉..我会更改输入错误。尝试将
    192.168.1.2 rubyhost.dev
    放入iPad上的
    /etc/hosts
    文件中,然后导航到
    rubyhost.dev:3000
    。这是一台工作版iPad。我不能越狱。另外,为它开发一些东西感觉真的很奇怪。苹果……唉..
    主机别名
    可能会帮助你。”.168.1.2:3000不能在任何机器上运行。Ipad或localhost。localhost:3000也不能在localhost上运行。奇怪的是,您的本地计算机甚至不能通过网络连接到自己。您确定您有正确的IP地址吗?您如何获取地址?地址是192.168.1.2。我尝试按照您的说明进行操作,但是它告诉我要设置ngrok…所以我按照帮助说明和我的ngrok服务器日志:(GET/302 Found)但是它会将ipad重定向到ngrok.com我不知道你更改了什么,但按照说明总是重定向到ngrok.com。/ngrok to./ngrok http 3000,它会告诉ngrok要听什么。你在使用http还是https?你的隧道状态是什么?你的输出看起来像我的吗?你能在运行ngrok时访问门户网站吗?转到localhost:4040,看看发生了什么。检查这里的文档我和创建者谈了一会儿..我(有点)让它启动并运行..但我仍然会出错..很酷的程序tho!通过pageRails 6+提问时的响应时间很长,你会发现不是所有的问题
     $ rails s -b stefans-mac.local
     => Booting Thin
     => Rails 4.2.1 application starting in development on http://stefans-mac.local:3000
     => Run `rails server -h` for more startup options
     => Ctrl-C to shutdown server
     >> Thin web server (v1.5.1 codename Straight Razor)
     >> Maximum connections set to 1024
     >> Listening on stefans-mac.local:3000, CTRL+C to stop
    
    rails s -b 0.0.0.0