在我的生产Debian服务器上,我使用它来将进入端口80的请求转发到在端口8080上运行的非根进程:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
(该过程是Node.js集群,但我怀疑它与此问题相关。)
我在我的Mac上开发,我正在尝试为自己构建一个更优雅的环境,而不会在我的计算机上添加任何不必要的软件。我在我的/private/etc/hosts
文件中添加了一个条目,因此我可以使用一个非常本地的域:
127.0.0.1 myapp.dev
现在我想在不指定端口的情况下访问它。换句话说,而不是http://myapp.dev:8080
,我更喜欢http://myapp.dev
。我也不希望直接在端口80上运行我的Web服务器,因此它没有root权限。
我知道我的电脑配有防火墙,但我无法找到有关它的更多信息。所以我正在寻找一种简单的方法来将端口80上的任何东西转发到端口8080,就像Debian上的IP Tables解决方案一样。我最希望使用计算机附带的防火墙,并以最简单的方式进行设置。
谁能告诉我怎么做?
奖励要点:是否有一种简单的方法可以忽略来自端口80(以及8080)的所有请求,除了那些来自我自己的运行Web服务器的计算机的请求?
Mac OS X曾经使用过一个名为ipfw的实用程序,但它被弃用而不支持BSD的pf端口。Apple提供的文档可在developer.apple.com/library/mac/documentation/Darwin/Reference / ...中找到
—
Dave
有GUI工具可能会有所帮助。IPFW有hanynet.com/waterroof,PF有hanynet.com/icefloor。我试图通过而不安装这些,因为我可能永远不会再使用它们。