流浪汉端口转发到PHP服务器/权限被拒绝错误的PHP -s

时间:2015-01-27 14:12:27

标签: php vagrant vagrantfile

我在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上运行?

2 个答案:

答案 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到更高端口。 (并在较高的端口号上启动服务器)