服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

将传入的通信量host1.example.com:80路由到端口80绑定到10080的端口容器

我有一个运行Apache2和Docker的Ubuntu 16.04机器(Docker本身正在运行Docker中心的GitLab)。 这个盒子里还有一个Phabricator实例,所以为什么我把GitLab放到它自己的Docker中来分离事物。 同样重要的是要注意,我能够通过两种不同的方式访问服务器:在我公司的专用networking中通过专用IP(10.10.XY)或通过主机名称“gitlab.example.com”指向公共IP 。 从私有networking中,如果我去“10.10.XY:10080”,那么我可以访问GitLab的所有荣耀。 如果我到networking外的“gitlab.example.com:10080”(并在防火墙中打开10080),那么我仍然可以访问GitLab。 但是,我想避免10080打开; 我还希望我的开发人员只需input主机名,而不必包含端口号。 我尝试了几件事情来完成这个无济于事… Apache2 ProxyPass(尝试使用本地主机和docker的IP为ProxyPass / ProxyReverse)。 我已经validation了mod_proxy已启用。 访问URL给我一个错误,说明没有configuration的网站。 如果我将下面的所有代理信息注释掉了,那么就会提供默认的Apache2成功页面(大概是因为它下降到主文档根目录,因为我没有下面的定义)。 <VirtualHost *:80> ProxyPreserveHost On ProxyRequests On ServerName gitlab.example.com ProxyPass / http://172.17.0.2:80/ ProxyPassReverse / http://172.17.0.2:80/ <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost> iptables PREROUTING。 我不是iptables的专家,我的大部分networking路由都是通过Barracuda完成的,但是我已经在线阅读了,你应该能够在同一个盒子里从一个端口路由到另一个端口。 我已经尝试了几个命令,但仍然没有运气。 说到iptables,我很迷茫,下面的命令可能会失败。 sudo iptables -A PREROUTING -t nat -s gitlab.example.com -p tcp […]