通过代理访问我的 Rails webrick?

通过代理访问我的 Rails webrick?

在我的 Mackbook 中,当我尝试连接办公室中的 Rails 应用程序时,无法连接,办公室中有一些 http 代理,当我像这样运行 Rails 时:

sudo rails s -p8080
=> Booting WEBrick
=> Rails 3.0.5 application starting in development on http://0.0.0.0:8080
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-03-20 12:49:34] INFO  WEBrick 1.3.1
[2012-03-20 12:49:34] INFO  ruby 1.8.7 (2010-01-10) [universal-darwin11.0]
[2012-03-20 12:49:34] INFO  WEBrick::HTTPServer#start: pid=17439 port=8080

本地IP是:

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether f8:1e:df:d8:8c:25 
inet6 fe80::fa1e:dfff:fed8:8c25%en1 prefixlen 64 scopeid 0x5 
inet 10.21.21.240 netmask 0xffffff00 broadcast 10.21.21.255
media: autoselect
status: active

因此,当我在浏览器中尝试触发 localhost:8080 或 10.21.21.240:8080 时,似乎无法触发我的应用程序

在此处输入图片描述

至于代理,请检查以下内容: 在此处输入图片描述

有任何想法吗 ?

奇怪的是,当我尝试卷曲时,我得到了一些响应并且起作用:

curl http://10.21.21.240:8080 
<html><body>You are being <a href="http://10.21.21.240:8080/login">redirected</a>.</body></html>%

答案1

您的办公室代理可能知道如何访问公共互联网,但不知道您的私人网络。

在您的代理设置中,添加一个条目以绕过网络的代理10/8(即任何 10.xyz 地址)。因此,让该文本字段如下所示:

*.local, 169.254/16, 10/8

请注意,这curl是一个可移植的开源工具,在可以避免的情况下,它不会采用任何特定于平台的技术,因此它几乎肯定不会遵守 Mac OS X 的代理设置(与大多数 GUI/Cocoa 浏览器不同)。这可以解释为什么 curl 可以工作,而基于 GUI 的浏览器却不能。

相关内容