本地搭建网站如何用域名访问?答案就在这篇文章里
本地搭建网站要用域名访问,核心在于把域名解析到你的电脑IP,再通过端口映射或内网穿透,让外部设备能找到你的本地服务。别被技术名词吓到,下文是2026年仍适用的完整操作路线。
第一步:理清本地网站与公网域名的访问关系
你在一台电脑上装了Nginx或Apache,监听8080端口,本地访问没问题,但别人的浏览器输入你的域名时,背后的链路是:域名 → DNS服务器 → 你的公网IP → 路由器/防火墙 → 内网电脑的对应端口,这中间任何一环断了,域名就访问不了。
你要先搞懂的三个角色
- 域名:相当于网站的“门牌号”,它只负责记录指向哪个IP地址。
- 本地电脑:相当于“房子”,但房子本身藏在小区里(局域网),外人找不到。
- 端口映射/穿透工具:相当于“小区保安”,把外面找来的客人,准确带到你家门口。
本地环境配置域名访问的前提条件
动手之前,先检查这几样东西,缺一个就白忙活。
确认你是固定公网IP还是内网环境
- 打电话问你的宽带运营商(电信/联通/移动),要一个公网IPv4地址,多数家宽默认是大内网IP,反复投诉或申请后能要到。
- 如果没有公网IP,别气馁,内网穿透方案可以绕开这个限制,下文会详细讲。
- 登录路由器后台,查“WAN口状态”,如果显示的IP和你用百度搜“IP地址”查出来的一致,说明你拿到了公网IP。
本地Web服务必须是常驻运行状态
- 用Nginx的,确认
nginx.conf里listen端口是80或8080,server_name可以先不填域名。 - 用Apache的,确认
httpd.conf里Listen参数是80。 - 无论哪种环境,先在局域网内访问
http://你的局域网IP:端口,能打开才算环境就绪。
本地搭建网站如何用域名访问?公网IP家庭的快捷方式
如果你幸运地拥有公网IP,操作路径最短。
在域名服务商后台设置DNS解析
在简米云、酷番云或Cloudflare后台,添加一条A记录,主机记录填或www,记录值填你的公网IP地址,TTL可以保持默认,解析生效一般需要几分钟到几小时。
路由器上做端口映射
- 登录路由器管理页(通常是192.168.1.1或192.168.0.1)。
- 找到“端口映射”或“虚拟服务器”或“NAT转发”功能。
- 外部端口填
80(如果你备案过)或8080(免备案的常用选择),内部IP填你电脑的固定局域网IP(建议在路由器里把电脑IP设为静态保留)。 - 协议选TCP,保存重启。
本地环境配置的细节
- 在路由器里把你电脑的MAC地址绑定一个固定内网IP,避免DHCP重新分配导致映射失效。
- 修改Nginx配置,让
server_name直接填你的域名,listen 80,这样访问域名时,Nginx就能正确识别。 - 防火墙放行:Windows电脑在“高级安全Windows Defender防火墙”里,新建入站规则,放行对应端口。
没有公网IP?内网穿透方案对比与实操
大多数本地搭建网站的用户卡在这一步:运营商不给公网IP,路由器端口映射形同虚设,业内专家指出,在这种情况下,内网穿透是最实用的替代路径。
内网穿透工具怎么选?一个对比表
| 工具名称 | 免费额度 | 自定义域名支持 | 稳定度 | 适合场景 |
|---|---|---|---|---|
| Ngrok | 随机域名免费 | 付费才支持 | 一般 | 临时演示 |
| 花生壳 | 每月少量流量免费 | 部分套餐支持 | 中等 | 个人博客 |
| Cloudflare Tunnel | 完全免费 | 支持,无需备案 | 优秀 | 长期使用,强烈推荐 |
| frp | 完全免费(需自备服务器) | 支持 | 取决于你的云服务器 | 有服务器的高级用户 |
用Cloudflare Tunnel免费实现域名访问本地网站
这个方案在2026年仍是最稳定的免费路径,无需公网IP,也无需在路由器上做任何设置。
- 在Cloudflare官网添加你的域名(需将域名NS记录托管给Cloudflare)。
- 在服务器或本地电脑上安装
cloudflared客户端,Linux用户可以用wget下载二进制文件,Windows用户可以用命令行套装。 - 配置
config.yml文件,定义一个隧道名称,映射本地服务地址。tunnel: my-website credentials-file: /root/.cloudflared/my-website.json ingress: - hostname: www.example.com service: http://localhost:8080 - service: http_status:404 - 运行
cloudflared tunnel run my-website,并在Cloudflare后台创建对应的DNS CNAME记录指向<隧道ID>.cfargotunnel.com。
整个链路在你的域名与Cloudflare边缘节点之间建立一条安全的加密隧道,外部请求先到Cloudflare,再转发到你本地电脑的Nginx或Apache端口。这个过程完全不需要公网IP,也不要求你在路由器上做端口映射。
本地环境配置域名访问时最常见的坑
很多人在做完上述步骤后,域名还是打不开,原因很可能是下面几个。
本地环境配置的端口冲突
- 你的Nginx或Apache已经占用了80端口,但路由器又把外部80端口映射到一个不存在的服务上。
- 解决方式:改Nginx监听
8080,同时在Cloudflare或DNS解析里,用URL转发或直接访问带端口的形式测试。
服务只监听了127.0.0.1
- 检查Nginx配置里的
listen参数,如果写的是listen 127.0.0.1:8080,那外部请求根本进不来,改为listen 8080;或
listen 0.0.0.0:8080;。
域名备案问题
- 国内服务器或国内域名解析到国内IP,必须备案,据工信部备案系统公开信息,未备案的域名指向国内服务器的网站会被关闭解析。
- 本地搭建网站如果用了国内宽带和国内域名商,即使你有公网IP,80端口也可能被运营商封禁,此时要么用Cloudflare隧道(解析走境外,规避备案限制),要么用非标准端口比如
8080访问。
本地搭建网站如何用域名访问?几个实战场景解析
给客户做项目演示,对方只能通过域名看
最推荐的是 内网穿透 + 自定义域名,用Cloudflare隧道,输入cloudflared tunnel route dns <隧道名> <域名>,把域名绑定到隧道,对方直接输入域名就能看到你本地电脑上的网站,这个过程不需要对方装任何软件。
家里NAS上的个人博客想长期运行
动态DNS(DDNS)+ 端口映射更合适,如果你的路由器支持花生壳或简米云DDNS插件,把域名绑定到你变动的公网IP上,再把NAS的Web端口映射出去,稳定性好,速度也快。
Q&A:本地搭建网站域名访问疑难解答
问:我用的是Windows系统,本地环境配置域名访问时,Nginx总是报错“bind() failed”?
大概率是端口被IIS或系统服务占用了,打开命令提示符,输入netstat -ano | findstr :80,找到占用PID,在任务管理器里结束该进程,或者把Nginx的监听端口改为8080。
问:免费内网穿透和内网穿透和端口映射哪个好用?
端口映射要求你有公网IP且路由器支持NAT转发,优点是速度快、无第三方依赖,内网穿透则能穿透任意NAT层,适合没有公网IP的家宽用户,从配置难度看,Cloudflare Tunnel比手动设置路由器端口映射更简单,行业内对比来看,长期运行的网站建议前者(端口映射或隧道都行,取决于IP条件),临时演示就用免费工具。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/617610.html





