我有一个阿帕奇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。
我希望这有帮助。