如何在本地托管网站并绑定自有.com域名实现公网访问
方案可行性结论
该方案完全可行,通过内网穿透工具绑定自定义域名是成熟的本地服务公网暴露方案,只要你的域名所有权正常、本地服务运行稳定即可实现需求。
具体操作步骤
前置准备
- 确保本地XAMPP/WAMP服务正常运行,记录本地服务的端口号,默认HTTP服务端口一般为80,HTTPS默认端口为443,也可自行修改为其他未被占用的端口
- 确认已完成域名所有权实名认证,域名状态正常无封禁
操作流程(以ngrok为例,serveo操作逻辑基本一致)
第一步:配置域名DNS解析
登录你的域名服务商管理后台,添加2条DNS记录:
- 一条CNAME记录,主机记录填你要使用的域名前缀(比如要使用
www.yourdomain.com就填www,要直接用根域名就填@),记录值填对应内网穿透工具提供的CNAME地址 - 一条TXT记录,主机记录按工具要求填写验证前缀,记录值填工具生成的域名验证字符串,用来证明你对该域名的所有权
第二步:启动本地web服务
打开XAMPP/WAMP控制面板,启动Apache服务,确认本地访问http://localhost:你的端口可以正常打开你的网站内容
第三步:启动内网穿透并绑定域名
打开ngrok客户端,执行以下命令:ngrok http --domain=你的自定义域名 本地服务端口号
比如你的域名是example.com,本地服务端口是80,命令就是ngrok http --domain=example.com 80
执行后看到命令行输出状态为online就代表配置成功,公网用户直接访问你的自定义域名就能打开你本地托管的网站了
注意事项
- 免费版ngrok不支持绑定自定义域名,需要升级到基础付费套餐才可使用该功能
- 如果使用serveo的话不需要提前注册账户,直接执行ssh命令即可绑定,对应命令格式为
ssh -R 你的域名:80:localhost:本地端口 serveo.net,同样需要提前给域名配置指向serveo的CNAME记录 - 本地网络不能封禁ssh或者对应穿透工具的出站端口,否则穿透会失败
- 该方案的访问速度受本地上行带宽限制,大流量访问场景建议使用云服务器托管
内容的提问来源于stack exchange,提问作者Idiot Person
相关产品推荐
相关产品推荐

