我有一个问题,希望这个问题足够常见,能够很快得到解决。具体来说,我有一台服务器,我想同时托管几个 Web 应用程序供我个人使用。但我希望它井井有条。
我目前的方法是安装/设置每个 Web 应用程序,并在非标准端口(8080、8081、8082 等)上通过 HTTP 运行自己的 lighttpd 服务器实例。然后,我使用系统的 lighttpd 服务器作为每个 Web 应用程序的代理。例如,myurl.com/tt-rss/
代理127.0.0.1:8080/tt-rss/
等等。“主”lighttpd 实例还将负责运行 HTTPS(对 Web 应用程序使用的端口的访问仅限于本地主机),因此我认为这是一种方便的方式,可以在一个地方处理所有 HTTPS,而不必为每个 Web 应用程序单独配置它。
我遇到的问题如下:我正在尝试运行 IRC 的 Shout webapp,它在 Node.js 上运行,默认情况下仅在端口 9000 上运行。问题是,它的 URL 是myurl.com:9000
而不是myurl.com:9000/shout/
,这意味着如果我使用上面描述的代理方法,那就意味着我只能代理myurl.com => 127.0.0.1:9000
,但这不利于在我的服务器上运行其他类似的应用程序。我希望能够拥有这个代理设置:myurl.com/shout/ => 127.0.0.1:9000/
我假设我需要为此使用mod_proxy
和mod_rewrite
协同工作,但我不确定如何做到这一点。我希望有人能帮忙。
先感谢您。