• 工作原理:Cloudflare 仅作为 DNS 解析服务,将域名解析到你的服务器 IP。用户的请求会直接访问你的服务器,不经过 Cloudflare 的 CDN 网络。 • 优点: • 用户直接连接到你的服务器,延迟更低。 • 适合不需要 CDN 加速或 DDoS 防护的场景。 • 缺点: • 你的服务器 IP 会暴露在公网,可能会受到攻击。 • 没有 Cloudflare 的 DDoS 防护和缓存功能。
• 工作原理:Cloudflare 作为反向代理,用户的请求会先经过 Cloudflare 的 CDN 网络,再由 Cloudflare 转发到你的服务器。 • 优点: • 隐藏了你的服务器 IP,增强了安全性。 • 提供 DDoS 防护、缓存加速和 HTTPS 支持。 • 可以配置 Cloudflare 的防火墙规则,过滤恶意流量。 • 缺点: • 用户的请求需要经过 Cloudflare 的 CDN 网络,可能会增加延迟。 • 某些服务(如 Let's Encrypt 的 HTTP 验证)可能无法通过 Cloudflare 代理正常工作。
• Caddy 是一个 Web 服务器,它自动为你的域名获取并配置 HTTPS 证书,并将 HTTP 请求重定向到 HTTPS。
• 如果你使用 Caddy,访问你的域名(如 https://dong-play.fun
)会通过 HTTPS 加密。
• HTTP 访问:
• Caddy 默认会将 HTTP 请求重定向到 HTTPS。因此,如果用户访问 http://dong-play.fun
,Caddy 会自动将其重定向到 https://dong-play.fun
。
• 如果你不希望支持 HTTP,可以在 Caddyfile 中明确禁用 HTTP。
• 如果你直接访问服务器的 IP(如 http://198.12.95.182
),Caddy 默认不会为其配置 HTTPS,因为 HTTPS 证书是基于域名的,而不是 IP。
• 因此,直接访问 IP 可能只能通过 HTTP,除非你手动为 IP 配置 HTTPS 证书(通常不建议这样做)。
• Cloudflare 提供了强制 HTTPS 的功能,可以将所有 HTTP 请求重定向到 HTTPS。 • 如果你开启了 Cloudflare 代理(Proxied),可以在 Cloudflare 控制台中启用强制 HTTPS:
• 如果你使用 Caddy,你的服务器本身已经支持 HTTPS。 • 如果开启了 Cloudflare 代理,Cloudflare 会通过 HTTPS 连接到你的服务器(无论你的服务器是否支持 HTTPS)。 • 如果你关闭了 Cloudflare 代理(DNS only),用户会直接通过 HTTPS 访问你的服务器(前提是你已经配置了 HTTPS,如使用 Caddy)。
Cloudflare 代理状态: • 如果你希望隐藏服务器 IP 并使用 Cloudflare 的安全功能,建议开启代理(Proxied)。 • 如果你需要直接暴露服务器 IP(例如某些服务不支持代理),可以关闭代理(DNS only)。
HTTPS 配置: • 使用 Caddy 自动管理 HTTPS 证书。 • 在 Cloudflare 中开启 Always Use HTTPS,确保所有流量都通过 HTTPS。
caddyfiledong-play.fun:8443 { tls { dns cloudflare <你的 Cloudflare API Token> } reverse_proxy localhost:8443 }
• 关闭 Cloudflare 代理(DNS only):用户直接访问你的服务器,适合不需要 CDN 和 DDoS 防护的场景。
• 开启 Cloudflare 代理(Proxied):用户通过 Cloudflare 访问你的服务器,适合需要安全性和 CDN 加速的场景。
• 使用 Caddy:自动为你的域名配置 HTTPS,HTTP 请求会被重定向到 HTTPS。
• Cloudflare 强制 HTTPS:建议开启,确保所有流量都通过 HTTPS。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!