CloudFlare是否可以从8080获取内容并在80上提供?

CloudFlare是否可以获得我的服务器通过端口8080提供的内容,并将其在端口80上提供给用户?

例如,我有以下IP地址0.0.0.0和域example.ga (CloudFlare注册)。 CloudFlare可以从0.0.0.0:8080检索内容并将其显示在example.ga:80吗?

据我所知,没有。 免费计划CloudFlare不能做端口翻译。 如果您在端口80上发出请求,CloudFlare会将其发送到端口80上的源.CloudFlare基本上是不可见的。 在企业计划CloudFlare可能能够为你做到这一点。

如果您的服务器在端口8080上,则应该安装一个反向代理 。 这可以与应用程序服务器在同一台服务器上,也可以在不同的服务器上。 在不同的服务器上,使用适当的防火墙规则,您可以创buildDMZ ,从而提高安全性。

Nginx是非常常用的反向代理,可以在与应用服务器相同的服务器上,也可以在不同的服务器上运行。 Nginx可以轻松接受端口80上的请求,然后将它们传递给运行在端口80上的应用服务器。它非常轻巧,只需要很less的CPU或RAM。

Nginx还可以根据您定义的规则来caching页面,以加速提供静态资源或匿名页面。 从caching中提供页面比再次生成页面要less得多。 Nginx反向代理指南在这里 。 我也有一个Nginx / WordPress的指南 ,将会给你更多的例子来说明如何为匿名用户caching页面,但是没有login用户。

根据评论更新

显然在Linux上你可以使用iptables来redirect端口。 因此,例如,运行在端口8080上的服务器可以在端口80上响应。这必须由作为根特权的用户来设置,因为非特权用户不能听取低于1024的端口。

你正在寻找什么被称为“反向代理”。 这是一个Web服务器,充当另一台服务器上内容的访问点。 较新版本的Windows Server将其标记为“应用程序代理”。 他们可以被configuration为从另一个服务器请求内容,甚至HTTPS从内部HTTP服务器拉入代理。 理想情况下,一切都应该是HTTPS。 希望能回答你的问题,并给你一些东西来寻找。

如果你的想法是隐藏你的真实IP地址,那么select一个像AWS这样的公共IP地址的主机,“CloudFlare指向那个IP地址”,然后在服务器上运行Nginx或HAProxy。 那些你可以configuration连接到你的真实服务器作为后端,然后configuration你的路由器/调制解调器/服务器/等。 防火墙只接受来自您的AWS的IP地址的连接和任何其他IP,如远程托pipe的IP。 您也可以将您的AWSconfiguration为仅接受来自CloudFlare IP的连接。 它会是这样的:用户 – > YourDomain(CloudFlare – > AWS – >您的真实/后端托pipe),然后stream回到用户,所以响应时间可能会延迟一点。 或者,您可以跳过AWS,只需从防火墙的CloudFlare IPs接受连接,除非您正在运行其他服务(FTP,电子邮件等),它不会隐藏您的真实IP。