Pow 和 Nginx 和谐共处

2016-10-13  本文已影响86人  老码农不上班

在 macOS 下开发Rack 应用,例如 Rails, Sinatra 应用,Pow 简直就是神器,其设置极其简单,做外包项目必备。
例如使用 Rails 框架开发一个钱包项目 wallet, 不需要 rails s 或者使用 puma, unicorn 跑程序,只要安装好 pow 并把服务跑起来,在本地通过 wallet.dev 访问。需要添加添加软链

ln -s path/to/wallet ~/.pow/wallet

但是,如果在内网中其他机器访问你的机器的网页(80 端口),或者你本地访问 http://localhost, 一般这种场景出现在开发客户端接口,就会访问不到。原因是 pow 把访问 80 端口的所有访问重定向了。
详细的原因是 Pow 使用了 resolveripfw 规则把所有请求80 端口重定向到 Pow 代理的根目录。

cat /etc/resolver/dev
# Lovingly generated by Pow
nameserver 127.0.0.1
port 20560

sudo ipfw list
00100 0 0 fwd 127.0.0.1,20559 tcp from any to me dst-port 80
65535 allow ip from any to any

那么怎么解决这个问题呢?
首先echo "export POW_DST_PORT=19999" >> ~/.powconfig
最后curl get.pow.cx | sh
你在本地浏览器中访问 http://localhost,或者 http://wallet.dev/都能访问到 Rack 应用

上一篇 下一篇

猜你喜欢

热点阅读