我在办公室有一台服务器,有一个本地IP地址( 192.168.1.15 )。 服务器连接到互联网,但没有一个真正的IP地址(这只是一个简单的DSL连接)。 我在rackspace.com有另一台服务器,它有一个真实的IP地址和一个域名。
现在我想让我的HTTP网站托pipe在本地,通过rackspace服务器在线提供。 我认为我需要build立从本地到公共服务器的VPN连接,然后设置一个HTTP隧道或类似的东西。 你能给我链接到我需要阅读的文档? 这是两个服务器的Ubuntu。
您将需要build立一个VPN隧道连接。 我build议使用OpenVPN – 它能很好地处理dynamicIP地址和NAT,安全,相对容易configuration,并且在Ubuntu中有一个包,这使得它更快的开始。 Ubuntu文档站点快速入门如何configuration它。 您显然需要在机架空间机器上设置服务器部件,在办公机器上设置客户机部件。
完成这一步之后,你已经testing了你的连通性,你需要一个叫“反向代理设置”的东西,在你的机架空间机器上运行的HTTP服务将所有的请求转发到你的办公室机器的networking服务器,并把响应传递给客户端。 像squid这样的HTTP代理解决scheme和像apache或nginx这样的stream行的web服务器软件都支持这种主要用于负责pipe理负载均衡和caching的操作模式 – 但是它们将很好的支持你的基本需求。 如果你想要一个阅读最less的快速设置,我build议使用nginx。
编辑:你也必须考虑这个设置的安全含义。 做错了,你正在邀请攻击者进入你的内部networking。 作为安全概念的一般规则,您必须考虑您的192.168.1.15办公服务器有潜在危害,并确保它在被攻击者接pipe时不会造成严重破坏。 此外,你应该确保你的VPN连接不允许访问内部Web服务器的80端口(通常是在你的办公室服务器上使用iptables规则),这样潜在的机架空间服务器黑客只能够不使用任何东西更多,但Web服务。
编辑#2:从技术上讲,它也可以使用你的机架空间主机的一个简单的端口转发规则,但这会有几个缺点,使它不好select。 首先,您将无法在您的Web服务器上进行有用的IP地址logging,因为所有数据包都将以来自机架空间主机的源IP地址到达,并且没有关于请求源的更多信息 – 反向代理通过添加X-Forwarded-for(或类似的)头部可以用于日志的请求。 此外,你最终会直接暴露你的内部networking服务器“邪恶的networking”,从而显着扩大攻击面。