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

The*_*heo 6 ip port-forwarding cloudflare

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

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

Tim*_*Tim 5

据我所知,没有。免费计划中的 CloudFlare 无法进行端口转换。如果您在端口 80 上发出请求,CloudFlare 将在端口 80 上将其发送到您的源。 CloudFlare 本质上是不可见的。在企业计划中,CloudFlare 可能能够为您做到这一点。

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

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

Nginx 还可以根据您定义的规则缓存页面,以加速服务静态资源或匿名页面。与再次生成页面相比,从缓存中提供页面所需的工作要少得多。Nginx 反向代理指南在这里。我还有一个Nginx/Wordpress 指南,它将为您提供更多关于如何为匿名用户而不是登录用户缓存页面的示例。

根据评论更新

显然在 Linux 上你可以使用 iptables 来重定向端口。例如,在端口 8080 上运行的服务器可以在端口 80 上响应。这必须由具有 root 权限的用户设置,因为非特权用户无法侦听低于 1024 的端口。