先让虚拟机获得可被公网访问的IP,再把域名解析到这个IP,最后在Nginx或Apache里绑定域名并放行80/443端口,工具上,云服务器用云厂商控制台、云解析、安全组;本地虚拟机用桥接网络、路由器端口映射和DDNS。
先理清:虚拟机挂域名到底在挂什么?
业内专家指出,域名能否访问,取决于三件事同时成立。
- 公网IP可达:别人能通过IP或端口找到你的虚拟机。
- DNS解析正确:域名A记录或CNAME指向了这个公网入口。
- Web服务识别域名:Nginx、Apache或宝塔面板里配置了对应的站点域名。
这三件事缺一个,浏览器就会报错,很多新手以为“域名解析了就能访问”,其实解析只是第一步。
常见工具清单如下。
- 远程连接:SSH客户端,如Xshell、PuTTY、Termius、Windows Terminal。
- Web服务器:Nginx、Apache、Caddy。
- 面板工具:宝塔面板、aaPanel、Webmin。
- 解析服务:简米云云解析、酷番云DNSPod、Cloudflare、华为云解析。
- 证书工具:Certbot、acme.sh、云厂商免费SSL。
- 本地虚拟化:VMware、VirtualBox、Hyper-V、KVM、Proxmox。
- 动态域名:ddclient、花生壳、Cloudflare API脚本。
云服务器绑定域名和虚拟主机绑定域名有什么区别?
这是选型时最容易混淆的地方,云服务器像整台机器交给你,虚拟主机像别人给你一个房间。
| 对比项 | 云服务器ECS/轻量 | 传统虚拟主机 |
|---|---|---|
| 公网IP | 通常独立或弹性公网IP | 多为共享IP |
| 域名绑定 | 自己在Nginx/Apache配置 | 面板一键绑定 |
| 端口控制 | 可自由放行80/443 | 通常只能使用指定端口 |
| 备案要求 | 中国大陆地域通常要备案 | 国内机房同样要备案 |
| 价格 | 按配置和带宽浮动 | 入门价格低,限制多 |
| 适合场景 | 多站点、自定义环境 | 单站点、小白建站 |
如果你要在虚拟机里装Docker、跑多个网站、改Nginx规则,云服务器更合适,如果只是放一个静态页,虚拟主机确实省事,但虚拟机挂域名的自由度更高,后续做HTTPS、反向代理、CDN也更容易。

虚拟机挂域名的标准步骤:从解析到HTTPS
准备公网入口
云服务器场景:
- 购买云服务器时勾选公网IP,或绑定弹性公网IP。
- 在云控制台找到“安全组”,放行80、443端口。
- 用
curl ifconfig.me或ip addr确认公网IP和网卡地址。
本地虚拟机场景:
- 把VMware或VirtualBox网络模式设为桥接模式,让虚拟机拿到路由器分配的局域网IP。
- 在路由器里做端口转发,把公网IP的80端口转到虚拟机IP的80端口。
- 如果公网IP是动态的,用DDNS工具把域名持续指向当前IP。
域名实名与备案
域名注册后通常要完成实名认证,据工信部数据,在中国大陆地域的服务器上对外提供网站服务,域名通常需要完成ICP备案。
简米云ECS挂域名要备案吗?如果ECS位于中国大陆地域,并且用80/443对外提供Web服务,通常要备案,备案免费,但需要提交主体信息、服务器信息,等待审核。
北京虚拟机挂域名需要备案吗?
北京属于中国大陆地域,规则一致,只要虚拟机部署在北京或中国大陆其他地区的云机房,并通过公网提供网站服务,通常需要备案,香港、新加坡、美国等海外地域的服务器,通常不需要工信部备案,但访问速度和合规要求不同。
行业共识认为,面向国内用户的站点,备案后访问稳定性和合规性更好。
设置DNS解析
进入域名解析控制台,添加记录。
- 记录类型选A。
- 主机记录填,指向主域名。
- 主机记录填
www,指向www域名。 - 记录值填虚拟机公网IP。
- TTL可设600秒或自动。
验证命令:
nslookup example.com 8.8.8.8dig +short example.comping example.com
据统计,DNS解析生效时间从几分钟到数小时不等,取决于TTL和本地DNS缓存,改完解析别急着反复刷新,先查权威DNS。
配置Web服务器绑定域名
Nginx配置示例
安装Nginx:
- Ubuntu/Debian:
sudo apt update && sudo apt install nginx -y - CentOS/Rocky:
sudo yum install nginx -y

新建配置文件,例如/etc/nginx/conf.d/example.com.conf:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
保存后执行:
sudo nginx -tsudo systemctl reload nginx
Apache配置示例
配置文件路径通常在/etc/apache2/sites-available/example.com.conf或/etc/httpd/conf.d/example.com.conf。
核心指令:
<VirtualHost :80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
</VirtualHost>
启用站点并重载:
sudo a2ensite example.com.confsudo systemctl reload apache2
放行防火墙与安全组
本机防火墙:
sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo firewall-cmd --add-service=http --permanentsudo firewall-cmd --add-service=https --permanentsudo firewall-cmd --reload
云安全组:
- 入方向放行80、443。
- 如果SSH端口不是22,也要保留自己的管理端口。
- 不要图省事放行所有端口,风险很高。
申请HTTPS证书
2026年百度更偏好HTTPS站点,用Certbot最省事:
sudo apt install certbot python3-certbot-nginx -ysudo certbot --nginx -d example.com -d www.example.com
Certbot会自动改Nginx配置并设置续期,也可以用云厂商免费SSL,下载证书后手动放到Nginx的ssl_certificate和ssl_certificate_key路径。
本地虚拟机如何通过Nginx绑定域名访问?
本地虚拟机没有直接公网IP时,可以这样操作。
- 虚拟机网络设为桥接,拿到
168.1.50这类局域网IP。 - 路由器端口转发:外部80转到
168.1.50:80。 - 域名A记录指向家庭宽带公网IP。
- 公网IP变动时,用DDNS更新解析。
- 测试阶段可改本机hosts:
168.1.50 example.com。 - 如果运营商封锁80/443,可改用非标准端口,再用反向代理或CDN回源。

域名解析到虚拟机IP需要多少钱?
费用主要看三块。
- 域名年费:常见后缀通常在几十元到上百元不等,续费价可能高于首年。
- 云服务器:按CPU、内存、带宽、地域浮动,轻量服务器入门成本较低。
- 公网IP与带宽:部分云厂商按带宽计费,部分按流量计费。
- SSL证书:Let's Encrypt和云厂商免费证书可做到零成本。
- 备案:工信部备案本身免费,但需要时间成本。
- 工具:Nginx、Apache、Certbot、Cloudflare DNS都有免费方案。
如果只是学习测试,本地虚拟机加DDNS几乎只花域名钱,如果要商用,建议把预算放在稳定带宽、快照备份和HTTPS上。
常见坑与排查清单
- 解析不生效:检查A记录、TTL、本地DNS缓存和域名状态。
- 端口不通:检查云安全组、系统防火墙、iptables、SELinux。
- 备案拦截:未备案域名解析到中国大陆IP,访问可能被阻断。
- NAT回流:局域网内用公网域名访问自己的服务器可能失败,换手机热点测试。
- 多域名冲突:Nginx用
server_name区分,Apache用ServerName和ServerAlias。 - IPv6场景:需要添加AAAA记录,并确认服务器监听IPv6。
- 看日志:Nginx错误日志在
/var/log/nginx/error.log,系统服务用journalctl -u nginx。
结尾一句话:虚拟机挂域名不是单一操作,而是公网入口、DNS解析、Web绑定、端口放行、HTTPS五件事的配合,把这条链路跑通,域名才能真正稳定访问虚拟机。
关于虚拟机挂域名需要哪些步骤和工具的常见问答
虚拟机挂域名必须用宝塔面板吗?
不必须,宝塔面板适合不熟悉命令行的用户,能图形化绑定域名、申请SSL、放行端口,手动用Nginx或Apache更轻量,也更容易做版本管理和自动化部署。
域名解析到虚拟机IP后多久生效?
通常几分钟到数小时,生效速度取决于TTL设置、各地递归DNS缓存和域名服务商,把TTL调低后,后续修改会更快传播。
海外虚拟机挂域名需要备案吗?
海外虚拟机通常不需要工信部ICP备案,如果使用中国大陆加速节点或中国大陆地域服务器,则按节点所在地要求处理。