在我的 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 的浏览器却不能。