前言
macos 对于开发者已经相当友好了, 使用 brew 可以很方便地搭建开发环境, 可终究与线上有所不同, 于是在本地用 Vagrant 搭建了 CentOS 环境. 由于 vagant 不支持转发 80 端口, 只能将 Mac 的 8080 转发到 CentOS 的 80, 这样在访问时就相当麻烦, 必须在 url 后加上: 8080
当然, 可以通过在 Mac 搭建 nginx, 由 Mac 的 nginx 将相应 url 转发到 8080 端口, 但这样很麻烦, 每新增一个 url, 都要在 Mac 的 nginx 新增记录:
- server {
- listen 80;
- server_name 127.0.0.1;
- location / {
- proxy_pass http://127.0.0.1:8080;
- }
- }
如果能将 Mac 的 80 端口全部转发到 8080, 就更方便了
解决方案
sudo VIM /etc/pf.conf
在 rdr-anchor "com.apple/*" 下, 加上: rdr on lo0 .NET proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
重新加载配置: sudo pfctl -f /etc/pf.conf
启动: sudo pfctl -e
Mac 端口转发
重启后需要重新加载配置以及启动, 可将这些命令封装成脚本, 设置为开机启动 参照: https://www.jianshu.com/p/967335949529
来源: http://www.jianshu.com/p/2577ad297b3a