Cloudflare代理配置端口
一、前提条件
- 已有注册好的Cloudflare账号(免费即可)。
- 已将你的域名成功接入Cloudflare(DNS已指向Cloudflare的Name Server)。
二、Cloudflare可用端口概述
Cloudflare 仅能代理特定的HTTP和HTTPS端口。常用端口总结如下:
| 协议 | 可用端口 |
|---|---|
| HTTP | 80, 8080, 8880, 2052, 2082, 2086, 2095 |
| HTTPS | 443, 8443, 2053, 2083, 2087, 2096 |
SSH、FTP 等非 HTTP 协议不能直接使用普通橙云代理;可按需求选择灰云直连、Cloudflare Tunnel 或 Spectrum,使用方式和套餐要求不同。
三、具体配置流程
以将服务器的8080端口通过Cloudflare实现域名访问为例:
① 服务器端准备
确保你的服务器端应用正常监听指定端口:
# 例如:测试8080端口是否开启
sudo netstat -tunlp | grep 8080
② Cloudflare DNS设置
- 登录Cloudflare后台:https://dash.cloudflare.com/
- 选择已接入Cloudflare的域名。
- 点击菜单栏中的
DNS选项卡。
添加DNS记录:
- 点击
Add record(添加记录)。 - 类型选择
A或CNAME:- 若为IP地址(例如服务器IP),选择
A。 - 若为其他域名,选择
CNAME。
- 若为IP地址(例如服务器IP),选择
示例:
| 字段 | 示例值 |
|---|---|
| Type | A |
| Name | example (即你希望访问的子域名) |
| IPv4 address | 你的服务器IP |
| Proxy status | 选择橙色云图标(✅代理) |
- 最终访问域名形式如:
example.yourdomain.com
③ 服务端口访问说明
普通橙云代理不会自动把省略端口的请求映射到源站 8080:
- 访问
http://example.yourdomain.com:8080,才是使用 8080 这个非默认 HTTP 端口。 - 访问
http://example.yourdomain.com,浏览器默认请求 80;访问 HTTPS 时默认请求 443。 - 如果希望 URL 不带端口而源站应用监听 8080,可以让源站 Nginx 在 80/443 接收请求并反向代理到 8080,或显式配置 Cloudflare Origin Rules 的回源端口覆盖。
| 用户访问 URL | 本例源站入口 |
|---|---|
http://example.yourdomain.com:8080 |
8080/HTTP |
https://example.yourdomain.com:8443 |
8443/HTTPS |
https://example.yourdomain.com |
443/HTTPS,除非另配了回源端口覆盖 |
四、HTTPS 配置
若你希望使用HTTPS访问:
- 到Cloudflare后台 →
SSL/TLS选项:- 优先设置为
Full (strict),同时验证源站证书。
- 优先设置为
- 使用
Full (strict)时:- 服务器需要有效且域名匹配的证书,可以使用 Let’s Encrypt 或 Cloudflare Origin CA。
示例 Nginx 配置(Full (strict) 模式):
server {
listen 8443 ssl;
server_name example.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
- 此例访问地址是
https://example.yourdomain.com:8443:Cloudflare → 8443(HTTPS)→ Nginx → 8080(HTTP 内网服务)。若要省略端口,将 Nginx 的listen改为443 ssl,或另行配置回源端口覆盖。
五、其他非标准端口(如SSH、FTP)支持方法
- 普通橙云代理不直接转发 SSH、FTP 等非 HTTP 协议。SSH 也可通过 Cloudflare Tunnel 配合客户端连接器访问。
- 若有这类需求,可以购买Cloudflare Spectrum服务:
- 在Cloudflare后台,进入Spectrum(频谱)服务,选择协议和端口映射到你的服务器IP地址即可。
六、常见问题与解决办法
- 访问失败或返回522错误:
- 检查服务器端防火墙是否允许Cloudflare IP段访问服务器端口。
- 检查服务器程序是否正常运行,端口是否已开启。
- SSL问题:
- Flexible模式下,无需服务器端SSL证书(Cloudflare自动处理)。
- Full 模式加密回源但不严格验证证书;Full (strict) 还会检查证书有效性和域名,通常优先使用后者。
评论将在接近此处时加载,也可点击立即加载。