如何在Cloudflare部署应用并确保仅本人可访问(无需Zero Trust订阅)
解决Cloudflare域名下应用私密访问的简便方案
以下是几个基于Cloudflare免费版功能、无需额外订阅的方法,可实现仅你本人能访问部署中的应用:
1. IP访问限制(最直接)
利用Cloudflare页面规则,仅允许你的公网IP访问应用:
- 登录Cloudflare控制台,进入目标域名的「规则」→「页面规则」
- 创建新规则,匹配你的应用域名(例如
app.yourdomain.com/*) - 添加「IP访问限制」动作,选择「允许特定IP,阻止其余所有」
- 填入你的公网IP(可通过终端执行
curl ifconfig.me或在线查询获取) - 保存规则后,只有你的IP能正常访问,其他请求会被Cloudflare拦截
注意:如果你的公网IP是动态的,每次IP变更后需要更新规则里的IP列表。
2. HTTP基本认证(简单易维护)
通过Cloudflare页面规则添加账号密码验证,只有知道凭证的人能访问:
- 进入Cloudflare域名的「页面规则」,创建匹配应用域名的规则
- 添加「基本认证」动作,设置自定义的用户名和密码
- 保存规则后,访问域名时会弹出浏览器认证窗口,输入正确凭证才能进入
优势:无需关注IP变化,只要记住账号密码即可,适合动态IP用户。
3. Cloudflare Workers自定义访问控制(灵活度高)
编写简单的Worker脚本,通过自定义密钥或IP校验放行请求:
- 进入Cloudflare Workers控制台,创建新Worker
- 替换默认脚本为类似逻辑:
addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { // 校验自定义请求头密钥 const secretKey = request.headers.get('X-Secret-Key') if (secretKey !== '你的自定义密钥') { return new Response('Forbidden', { status: 403 }) } // 放行到你的应用服务器 return fetch('https://你的应用服务器地址', request) }
- 在Worker的「触发器」中添加绑定,将Worker关联到你的应用域名
- 访问时需要在请求头中携带
X-Secret-Key: 你的自定义密钥,或修改脚本改为IP校验逻辑
优势:可以自定义更复杂的验证规则,适合有一定技术基础的用户。
内容的提问来源于stack exchange,提问作者AbCoder
相关产品推荐
相关产品推荐

