etc / hosts有端口号(为工头修复)

时间:2014-05-13 21:25:14

标签: ruby-on-rails host foreman

我正在使用Foreman指定端口3000 。如何通过在浏览器中写myapp.local而不是键入0.0.0.0:3000来访问我的应用程序?

我已添加:

0.0.0.0  myapp.local

但是在执行myapp.local时,它默认为Apache的默认localhost,而不是Rails应用程序。

2 个答案:

答案 0 :(得分:1)

简短回答:你不能。

主机表用于将主机名映射到IP地址(Wiki)。港口处于不同的角度。

但是,您可以指定Foreman应运行的端口:

-p, --port

    Specify which port to use as the base for this application. Should be a multiple of 1000.

答案 1 :(得分:0)

我不知道Foreman但是当你用浏览器连接它时,我认为它通过HTTP进行通信。如果是这样,您可以使用代理设置指向该主机:端口。试试FoxyProxy。它更像是一种解决方法而不是一种真正的解决方案,但它应该可以工作(只要它不是HTTPS)

如果你使用Linux而不是另一种方法是使用LD_PRELOAD来覆盖连接glibc函数。这是一个相当低级别的黑客,但并不是那么复杂。

Linux中的另一种方法是将netfilter规则(iptables)设置为NAT连接。它不是很好,因为你需要根级别更改来实现简单的事情。