我有一个 Linode VPS,目前正在运行 lighttpd 来提供我的 PHP 网站并监听端口 80。
我还在运行 Node.js,它侦听端口 81,并使用 websockets 和 HTTP 与客户端交互。
有几个不同的域我想指向这个服务器。理想情况下,我希望托管 PHP 站点的域都与同一个 lighttpd 服务器通信,并且使用 node.js 的站点会以某种方式重定向到端口 node.js 正在监听客户端不知道的情况(例如,没有 30x 重定向)。
example-php1.com:80 -> linodebox:80 lighttpd /var/www/example1
example-php2.com:80 -> linodebox:80 lighttpd /var/www/example2
example-node.com:80 -> linodebox:81 node.js
有没有办法通过设置 DNS 条目或调整 iptables 来做到这一点?lighttpd 是否需要成为 node.js 的代理?websockets 功能需要在没有任何后备的情况下工作,并且访问非节点域,例如example-php1.com:81
,不应暴露节点应用程序。
我觉得完美的解决方案不需要更改现有的应用程序代码,也不需要在软件 Web 服务器之间进行代理,但我可能是错的。