我在OsX Yosemite上,必须the steps here才能启用端口转发功能。
我在流浪汉
结束时得到了这个==> default: Running triggers after up...
==> Fowarding Ports: 80 -> 8080, 443 -> 4443 & Enabling pf
现在的问题是,如果我进入我的流浪盒并在 443 端口运行php服务器
php -S localhost:443
它说
Failed to listen on localhost:443 (reason: Permission denied)
继续我的盒子(主持人),
curl http://127.0.0.1:8080/
返回操作超时
如何让php服务器在vagrant上运行?
答案 0 :(得分:1)
尝试以root身份运行php -S
(例如在Ubuntu上sudo -s
之后)。低于1024的端口具有特权,只能由root打开。
VM中的端口是:443。但您可以使用php -s 0.0.0.0:4443
作为示例。 127.0.0.1:4443上的列表也不起作用,因为端口转发不通过localhost访问VM - 而是在VM内部有一个额外的(虚拟)网络接口。
答案 1 :(得分:1)
假设您的流浪盒是Linux,只有root可以侦听1024以下的端口。通常人们使用像Apache或nginx这样的服务器以root身份监听端口,然后删除所有其他权限并将处理传递给php。或者,您可以使用iptables将流量重定向到端口443到更高端口。 (并在较高的端口号上启动服务器)