前言

通常情况下,443 端口与 HTTPS 协议相对应。当我们访问 https://example.com 时,浏览器默认访问 https://example.com:443。如果想让其他端口走 HTTPS 协议,例如 10000 端口,那么浏览器需要这样输入地址:https://example.com:10000。明白了这些,开始在 NAT VPS 上 Cloudflare 建站。

Cloudflare AAAA 记录实现 IPv6-only 建站

首先介绍最简单的方法,一般来说,VPS 服务商会提供一个甚至多个免费的 IPv6 公网地址。如果给的 IPv6 支持接入 Cloudflare 边缘网络,建议直接使用 IPv6 建站,方法非常简单,添加 AAAA 记录,在 Nginx 服务器虚拟主机配置文件 server 下加上以下字段:

listen [::]:443 ssl;

不过,如果你 IPv6 来自 Hurricane Electric,那么大概率无法接入边缘网络了。想了解更多,可访问随附链接总结 nat机器到底怎么套cloudflare,全方位解读 - Nodeseek - 20231212

Cloudflare Origin Rules IPv4 无 443 端口建站

通过 Cloudflare Origin Rules 可以实现 443 端口到任意端口映射。如果不明白 Origin Rules 是什么,建议检索关键字「Cloudflare Origin Rules」。

假设现在有域名 example.com 在 Cloudflare 上管理,服务器 IP 地址为 1.1.1.1,现用端口 10000 用于处理 HTTPS 请求。使用 Origin rules 把 https://example.com 映射成 https://example.com:10000,步骤如下:

  1. 进入网站管理页:[Dashboard] > Websites > example.com
  2. 为域名添加 A 记录:DNS > Records > Add Record
  3. 添加源规则:Rules > Origin Rules > Create Rule

在 Origin Rules 配置页,将 443 端口覆写到 10000 端口。

Cloudflare Origin Rule.png

总的来说,使用 Origin Rules 实现 NAT VPS 使用 IPv4 端口建站还算优雅。

Clouflare Zero Trust Tunnel 实现无公网 IP 建站

内网穿透想必大家都有所耳闻,如果不知道,建议检索关键词「内网穿透」。这种方法思路是,服务器直接与 Cloudflare 边缘网络建立隧道通信,访问网站相当于通过 Cloudflare 间接访问。

使用官方提供的命令行工具 Cloudflared 便可实现隧道。Cloudflared 支持在 Cloudflare 面板在线配置,下面简单说一下操作流程:

  • 进入 Tunnel 管理页:[Dashboard] > Zero Trust > Access > Tunnels
  • 新建 Tunnel 隧道:[Tunnel 管理页] > Create a tunnel > 指定 Tunnel 名称 > Save tunnel

然后按照安装提示,执行命令安装即可,大致流程如下:
首先,从 Github 下载 Cloudflare Tunnel,并赋予运行权限,然后移动到运行目录:

curl -L --output cloudflared https://github.com/cloudflare/cloudflared/releases/download/2023.10.0/cloudflared-linux-amd64
chmod +x cloudflared 
mv cloudflared /usr/bin/

然后运行如下命令完成安装,注意获取 Token:

cloudflared service install {Token}

Token 可以这样获取,例如在 Windows 页,这个字符串:

Tunnel install command.png

至此,安装完毕。不出意外,服务器与 Cloudflare 建立隧道连接了,然后开始在线配置。

在 Public Hostnames 页填写配置时,需要把 URL 填写到虚拟主机配置的监听地址,注意填写完整,例如要写 127.0.0.1:8001 不要只写 8001。

通过此法,我们甚至不需要配置 SSL,交互过程已被加密,IP 甚至是任意端口都没暴露。

最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏