Apache httpd.conf - 虚拟主机端口

Apache httpd.conf - 虚拟主机端口

我有一个阿帕奇Web 服务器正在运行,可以通过我的浏览器的 ip/端口组合访问123.456.789:9000

我还有一个GitLab在 ip/port 组合上运行的实例123.456.789:8888和名为的 GitLab 模块看板123.456.789:8889

如果有人请求网站,123.456.789:9000/gitlab我希望阿帕奇将请求路由到的 Web 服务器123.456.789:8888

如果有人要求123.456.789:9000/kanban我想要阿帕奇Web 服务器路由至123.456.789:8889

因此,我不想直接打开端口 8888 和 8889,而是希望 Apache Webserver 充当隧道,将两个地址内部绑定到不同的端口,而 IP 保持不变。

我读到这种配置是在 httpd.conf 中完成的,涉及在其中添加所谓的虚拟主机。它还可能涉及一些通过bind命令进行的 Linux 特定路由。

这是正确的吗?如果正确的话,有人能指出我如何适应httpd配置文件文件?

如果这不可能的话,我怎么才能在我的电脑上配置它呢?CentOs 7.1服务器?

编辑-1:在交叉发布之前https://serverfault.com/管理员/版主可以做吗?

编辑-2:我发现了这个https://stackoverflow.com/questions/8541182/apache-redirect-to-another-port它看起来像是相同的用例,但我仍在尝试。

编辑-3:在与 IRC 频道 #httpd 中的人联系后,我被告知 Apache 反向代理应该可以解决问题,并获得了此资源,http://www.apachetutor.org/admin/reverseproxies,我目前正在进行这项工作。

答案1

假设您有一个简单的 httpd 配置,那么实现您所寻找内容的一个简洁方法是:

  • 创建一个名为的文件/etc/httpd/conf.d/gitlab.conf,内容如下:

    ProxyPass "/gitlab" "http://123.456.789:8888"
    ProxyPassReverse "/gitlab" "http://123.456.789:8888"
    
  • 创建另一个文件,/etc/httpd/conf.d/kanban.conf其内容如下:

    ProxyPass "/kanban" "http://123.456.789:8889"
    ProxyPassReverse "/kanban" "http://123.456.789:8889"
    
  • 重新启动 httpd。

我希望这有帮助。

相关内容