你是不是也这么想的“我的服务跑在服务器的 8080 端口我想用api.example.com访问那我在 DNS 里把端口设成 8080 不就行了”不行。DNS 里根本没有端口这个字段。这是 90% 的人第一次配域名时踩的坑。这篇文章把域名解析这件事一次讲透。DNS 到底在干什么一句话DNS 只做一件事把域名变成 IP 地址。api.example.com → 你的服务器公网IP没了。就这么简单。你以为的实际情况api.example.com:8080→服务器IP:8080❌ DNS 不管端口api.example.com→服务器IP✅ 这才是 DNS 做的事端口是浏览器决定的不是 DNS 决定的。你在浏览器输入浏览器实际去连http://api.example.com服务器IP:80HTTP 默认 80https://api.example.com服务器IP:443HTTPS 默认 443http://api.example.com:8080服务器IP:8080你手动指定所以问题的本质不是怎么把域名解析到 8080 端口而是我的服务在 8080但浏览器默认访问 80怎么办答案让 80 端口有人接再转发到 8080。这个接住并转发的角色由 nginx 或反向代理来干。域名解析到底怎么设第一步加 A 记录最常用去你的域名管理后台阿里云 / 腾讯云 / Cloudflare / Namesilo 都行找到 DNS 解析页面加一条字段填写内容说明记录类型A把域名指向 IPv4 地址主机记录或www或api 根域名www www子域名api api子域名记录值你服务器的公网IP去服务器控制台查看TTL默认即可一般 600缓存时间不用改保存等几分钟生效。就这么简单。没有端口不需要端口。第二步验证解析是否生效# Windowsnslookupapi.example.com# Mac / Linuxdigapi.example.com# 或者直接pingapi.example.com看到返回你的服务器 IP 就对了 ✅其他常见记录类型知道就行记录类型用途举例A域名 → IPv4api.example.com→服务器IP✅ 最常用AAAA域名 → IPv6api.example.com→IPv6地址CNAME域名 → 另一个域名cdn.example.com→cdn.cloudflare.comMX邮件服务器example.com→mail.example.comTXT验证/防垃圾邮件SPF、DKIM 验证用NS指定 DNS 服务器一般不用动默认用域名商的90% 的场景你只需要 A 记录。解析完了为什么还是访问不了这是最常见的问题。解析成功 ≠ 能访问。按这个顺序排查1. 防火墙没开# Ubuntusudoufw allow80sudoufw allow443# CentOSsudofirewall-cmd--permanent--add-servicehttpsudofirewall-cmd--permanent--add-servicehttpssudofirewall-cmd--reload2. 云服务器安全组没开最容易忘去阿里云 / 腾讯云控制台安全组 → 入站规则 → 添加规则协议端口范围来源TCP800.0.0.0/0TCP4430.0.0.0/0这个不开外面永远访问不了跟 DNS 没关系。3. 服务没在 80/443 端口跑你的服务在 8080浏览器访问的是 80 → 连不上。解决nginx 反向代理把 80 转到 8080server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }一张图看懂整个流程浏览器输入 http://api.example.com/xxx │ ▼ DNS 解析 │ ▼ api.example.com → 服务器公网IP只到IP没有端口 │ ▼ 浏览器连接 服务器IP:80HTTP默认80 │ ▼ Nginx 监听 80 端口接住请求 │ ▼ 反向代理到 127.0.0.1:8080 │ ▼ 你的服务返回结果 │ ▼ 响应原路返回给浏览器 ✅常见误区速查表误区真相“DNS 里可以设端口”❌ DNS 记录里没有端口字段“加了 A 记录就能访问了”❌ 还得开防火墙 安全组 服务在 80/443 跑“解析生效要 24 小时”❌ 一般几分钟到几小时TTL 决定“CNAME 比 A 记录好”❌ 各有用途指向 IP 用 A指向域名用 CNAME“我改了解析怎么还是旧 IP”清空本地 DNS 缓存ipconfig /flushdnsWindows或sudo dscacheutil -flushcacheMac最后一句话域名解析只干一件事域名 → IP。端口的事DNS 不管浏览器管。解析完访问不了先查防火墙和安全组99% 是这俩的问题。
域名解析怎么设?看完这篇,5 分钟搞定
发布时间:2026/6/4 20:01:32
你是不是也这么想的“我的服务跑在服务器的 8080 端口我想用api.example.com访问那我在 DNS 里把端口设成 8080 不就行了”不行。DNS 里根本没有端口这个字段。这是 90% 的人第一次配域名时踩的坑。这篇文章把域名解析这件事一次讲透。DNS 到底在干什么一句话DNS 只做一件事把域名变成 IP 地址。api.example.com → 你的服务器公网IP没了。就这么简单。你以为的实际情况api.example.com:8080→服务器IP:8080❌ DNS 不管端口api.example.com→服务器IP✅ 这才是 DNS 做的事端口是浏览器决定的不是 DNS 决定的。你在浏览器输入浏览器实际去连http://api.example.com服务器IP:80HTTP 默认 80https://api.example.com服务器IP:443HTTPS 默认 443http://api.example.com:8080服务器IP:8080你手动指定所以问题的本质不是怎么把域名解析到 8080 端口而是我的服务在 8080但浏览器默认访问 80怎么办答案让 80 端口有人接再转发到 8080。这个接住并转发的角色由 nginx 或反向代理来干。域名解析到底怎么设第一步加 A 记录最常用去你的域名管理后台阿里云 / 腾讯云 / Cloudflare / Namesilo 都行找到 DNS 解析页面加一条字段填写内容说明记录类型A把域名指向 IPv4 地址主机记录或www或api 根域名www www子域名api api子域名记录值你服务器的公网IP去服务器控制台查看TTL默认即可一般 600缓存时间不用改保存等几分钟生效。就这么简单。没有端口不需要端口。第二步验证解析是否生效# Windowsnslookupapi.example.com# Mac / Linuxdigapi.example.com# 或者直接pingapi.example.com看到返回你的服务器 IP 就对了 ✅其他常见记录类型知道就行记录类型用途举例A域名 → IPv4api.example.com→服务器IP✅ 最常用AAAA域名 → IPv6api.example.com→IPv6地址CNAME域名 → 另一个域名cdn.example.com→cdn.cloudflare.comMX邮件服务器example.com→mail.example.comTXT验证/防垃圾邮件SPF、DKIM 验证用NS指定 DNS 服务器一般不用动默认用域名商的90% 的场景你只需要 A 记录。解析完了为什么还是访问不了这是最常见的问题。解析成功 ≠ 能访问。按这个顺序排查1. 防火墙没开# Ubuntusudoufw allow80sudoufw allow443# CentOSsudofirewall-cmd--permanent--add-servicehttpsudofirewall-cmd--permanent--add-servicehttpssudofirewall-cmd--reload2. 云服务器安全组没开最容易忘去阿里云 / 腾讯云控制台安全组 → 入站规则 → 添加规则协议端口范围来源TCP800.0.0.0/0TCP4430.0.0.0/0这个不开外面永远访问不了跟 DNS 没关系。3. 服务没在 80/443 端口跑你的服务在 8080浏览器访问的是 80 → 连不上。解决nginx 反向代理把 80 转到 8080server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }一张图看懂整个流程浏览器输入 http://api.example.com/xxx │ ▼ DNS 解析 │ ▼ api.example.com → 服务器公网IP只到IP没有端口 │ ▼ 浏览器连接 服务器IP:80HTTP默认80 │ ▼ Nginx 监听 80 端口接住请求 │ ▼ 反向代理到 127.0.0.1:8080 │ ▼ 你的服务返回结果 │ ▼ 响应原路返回给浏览器 ✅常见误区速查表误区真相“DNS 里可以设端口”❌ DNS 记录里没有端口字段“加了 A 记录就能访问了”❌ 还得开防火墙 安全组 服务在 80/443 跑“解析生效要 24 小时”❌ 一般几分钟到几小时TTL 决定“CNAME 比 A 记录好”❌ 各有用途指向 IP 用 A指向域名用 CNAME“我改了解析怎么还是旧 IP”清空本地 DNS 缓存ipconfig /flushdnsWindows或sudo dscacheutil -flushcacheMac最后一句话域名解析只干一件事域名 → IP。端口的事DNS 不管浏览器管。解析完访问不了先查防火墙和安全组99% 是这俩的问题。