Vagrant 端口转发到 PHP 服务器/php -s 上的权限被拒绝错误
Vagrant port forwarding to PHP server / Permission denied error on php -s
我在 OsX Yosemite 上,必须执行 the steps here 才能启用端口转发。
我在 vagrant up
结束时得到了这个
==> default: Running triggers after up...
==> Fowarding Ports: 80 -> 8080, 443 -> 4443 & Enabling pf
现在的问题是,如果我通过 ssh 进入我的 vagrant box 和 运行 php 端口 443 服务器
php -S localhost:443
它说
Failed to listen on localhost:443 (reason: Permission denied)
在我的盒子(主机)上,一个
curl http://127.0.0.1:8080/
returns 操作超时
如何让 php 服务器在 vagrant 上运行?
尝试 运行 php -S
作为 root(例如在 Ubuntu 上的 sudo -s
之后)。 1024以下的端口是特权端口,只能由root打开。
您虚拟机中的端口是 :443。但是您可以使用 php -s 0.0.0.0:4443
例如。在 127.0.0.1:4443 上列出也不起作用,因为端口转发不通过本地主机访问 VM - VM 中有一个额外的(虚拟)网络接口。
假设你的 vagrant box 是 Linux 只有 root 可以监听 1024 以下的端口。通常人们使用 Apache 或 nginx 这样的服务器以 root 身份监听端口,然后放弃所有其他权限并通过处理至 php。或者,您可以使用 iptables 将流量重定向到端口 443 到更高的端口。 (并在更高的端口号上启动您的服务器)
我在 OsX Yosemite 上,必须执行 the steps here 才能启用端口转发。
我在 vagrant up
结束时得到了这个==> default: Running triggers after up...
==> Fowarding Ports: 80 -> 8080, 443 -> 4443 & Enabling pf
现在的问题是,如果我通过 ssh 进入我的 vagrant box 和 运行 php 端口 443 服务器
php -S localhost:443
它说
Failed to listen on localhost:443 (reason: Permission denied)
在我的盒子(主机)上,一个
curl http://127.0.0.1:8080/
returns 操作超时
如何让 php 服务器在 vagrant 上运行?
尝试 运行 php -S
作为 root(例如在 Ubuntu 上的 sudo -s
之后)。 1024以下的端口是特权端口,只能由root打开。
您虚拟机中的端口是 :443。但是您可以使用 php -s 0.0.0.0:4443
例如。在 127.0.0.1:4443 上列出也不起作用,因为端口转发不通过本地主机访问 VM - VM 中有一个额外的(虚拟)网络接口。
假设你的 vagrant box 是 Linux 只有 root 可以监听 1024 以下的端口。通常人们使用 Apache 或 nginx 这样的服务器以 root 身份监听端口,然后放弃所有其他权限并通过处理至 php。或者,您可以使用 iptables 将流量重定向到端口 443 到更高的端口。 (并在更高的端口号上启动您的服务器)