网络基础字数 1984阅读时长5 分钟

域名怎样找到 VPS:DNS、HTTPS 与反向代理入门

面向新手解释域名、DNS A 与 AAAA 记录、端口、反向代理、TLS 证书和 HTTPS 如何把浏览器请求送到 VPS 上的应用。

在 VPS 本机用 curl http://127.0.0.1:3000 看到网页,只能证明应用在服务器内部工作。要让普通读者通过 https://example.com 访问,还需要把域名、DNS、网络端口、反向代理和 HTTPS 串起来。

这些词经常出现在同一篇教程里,但它们解决的是不同问题。

一、先看一条完整请求

用户输入域名
  ↓ DNS 查询
得到服务器 IP
  ↓ TCP 443 + TLS
连接 VPS 上的反向代理
  ↓ 转发到 127.0.0.1:3000
应用返回页面

可以把它们理解成:

组件类比真正职责
域名容易记的名称给网站一个稳定的人类可读入口
DNS通讯录把名称解析成 IP 等记录
IP 地址建筑地址找到互联网上的主机或网络接口
端口大楼里的入口编号把连接交给对应网络服务
反向代理前台接收公网请求并转给内部应用
TLS 证书可验证的身份文件让客户端验证域名身份并协商加密连接

DNS 不会保存或传输你的网页,证书也不会把域名“指向”服务器。每一层都要分别配置和验证。

二、常见 DNS 记录是什么

记录常见用途新手注意点
A名称指向 IPv4 地址地址改变时要同步更新
AAAA名称指向 IPv6 地址服务器没配置好 IPv6 就不要留下错误记录
CNAME一个名称指向另一个名称通常不能与同名的其他记录随意共存
TXT域名验证、邮件策略等文本不要粘贴来源不明的验证值

例如,想让 www.example.com 指向一台有公网 IPv4 的 VPS,通常会添加一条 A 记录。具体名称、根域写法和代理开关由 DNS 服务商界面决定,应以它的文档为准。

DNS 修改不会保证所有人瞬间看到新结果。递归解析器和客户端会按照 TTL 缓存记录,所以迁移时要预留缓存过渡期,而不是看到自己电脑生效就立刻删除旧服务器。

三、为什么经常需要反向代理

一台 VPS 可以同时运行多个应用,例如:

blog.example.com  → 127.0.0.1:3000
api.example.com   → 127.0.0.1:4000

反向代理(例如 Nginx 或 Caddy)监听公网的 80/443,根据域名把请求交给不同的内部应用。它还常负责 TLS 终止、请求日志、压缩和部分安全限制。

这样做的好处是,应用不用各自直接暴露公网端口。对新手而言,也更容易把“公网入口”和“应用运行”分开排查:

  • 应用先在本机地址验证;
  • 反向代理再验证到应用的转发;
  • 最后才检查 DNS 和外部 HTTPS。

反向代理不是匿名工具,也不会自动修复应用漏洞。它只是请求链条中的一个服务。

四、HTTPS 保护了什么

HTTPS 是 HTTP 通过 TLS 建立的安全连接。正常验证成功时,它主要提供:

1. 客户端可以验证证书是否对当前域名有效; 2. 传输内容经过加密,旁路观察者不容易直接读取; 3. 传输中内容被篡改时可以被发现。

HTTPS 不会证明网站经营者一定可信,也不会让有漏洞的应用变安全。它保护的是连接,不是对所有内容作担保。

Let’s Encrypt 等证书颁发机构可以通过 ACME 自动签发和续期证书。签发前需要用选定的挑战方式证明你控制域名,但不同方式的网络条件并不相同:

  • HTTP-01 通过指定的 HTTP 路径验证,需要验证服务器能经公网端口 80 访问;
  • DNS-01 通过 DNS TXT 记录验证,不要求 Web 服务器开放 80 或 443;
  • TLS-ALPN-01 通过端口 443 上的特殊 TLS 连接验证。

新手常见的 Web 服务器流程会使用 HTTP-01,但应先看所用 ACME 客户端和部署平台实际选择了哪一种挑战,不能把三种条件混成一条规则。

五、适合新手的搭建顺序

1. 在 VPS 本机启动应用,让它只监听预期的本机地址; 2. 用本机请求验证应用内容和端口; 3. 安装并配置来自官方来源的反向代理; 4. 先检查反向代理配置语法,再启动或重载; 5. 添加正确的 DNS 记录,并用公共解析结果复核; 6. 确认防火墙允许网站实际需要的端口;如果使用 HTTP-01,验证期间必须能从公网访问 80; 7. 通过受信任的 ACME 客户端申请证书,并核对它使用的挑战类型; 8. 从 VPS 之外访问 HTTPS,检查证书域名、状态码和页面; 9. 验证自动续期机制,而不是等证书快过期才处理。

选择 Nginx、Caddy 或其他反向代理时,应跟随该软件当前官方文档,不要混用多年前博客里的配置片段。

六、常见故障按层排查

域名解析到旧地址

检查权威 DNS 记录、TTL 和本地缓存。不要先重装 Web 服务,因为请求可能根本没有到新 VPS。

IPv4 正常,部分用户仍打不开

检查是否存在错误的 AAAA 记录。支持 IPv6 的客户端可能优先尝试它,而你的 VPS 或防火墙并未正确配置 IPv6。

反向代理显示 502

通常表示前台收到了请求,但无法正常连接后端。检查应用进程、监听地址、端口和本机请求。

证书申请失败

先查看 ACME 客户端选择的挑战类型和具体错误:HTTP-01 检查域名解析与公网 80,DNS-01 检查 TXT 记录和 DNS API 权限,TLS-ALPN-01 检查公网 443;同时确认系统时间正常。

HTTPS 正常但应用端口也能公网访问

检查应用是否监听所有接口,以及云防火墙和系统防火墙是否放行了后端端口。只需要反向代理访问时,后端通常不必暴露公网。

七、总结

域名、DNS、HTTPS 和反向代理不是四个互相替代的选项,而是一条请求链上的不同岗位:DNS 帮用户找到 IP,网络把连接送到 443,TLS 建立经过身份验证的加密连接,反向代理再把请求交给内部应用。

排查时沿着这条链逐层验证,比反复“清缓存、重装、重启”更可靠。

常见问题

只有 IP,没有域名,可以使用 HTTPS 吗?

技术上存在面向 IP 地址证书等不同场景,但普通个人网站通常使用域名证书。域名也让以后迁移服务器时不必要求用户记住新 IP。

DNS 服务商开启代理后,链条会有什么变化?

客户端可能先连接 DNS 服务商的边缘网络,再由它连接源站。缓存、TLS、真实来源地址和防火墙规则都会多一层,应查看该服务商的当前官方文档。

证书申请成功后就不用管了吗?

不是。短期证书依赖自动续期,需要监控续期任务与到期时间,并实际测试续期流程。

参考来源

Share

分享这篇文章