LESSON 2.4 / COMPUTER & INTERNET

服务器、公网 IP、SSH 与 Web 服务

服务器是一台持续运行程序并接受网络连接的电脑。机器在线、端口开放和应用进程运行是三项不同条件。

预计阅读约 25 到 40 分钟
完成结果能区分连接超时、拒绝连接、认证失败和代理错误,并按网络、端口、进程、配置顺序检查。
本课目标
  • 能区分连接超时、拒绝连接、认证失败和代理错误,并按网络、端口、进程、配置顺序检查。
  • 公网 IP 与内网 IP、入站与出站连接
  • 演练服务器、公网 IP、SSH 与 Web 服务后,应当能区分连接超时、拒绝连接、认证失败和代理错误,并按网络、端口、进程、配置顺序检查,并保留目录内容、命令输出、HTTP 响应和服务日志作为可重复检查的依据。
开始之前
  • 完成 2.3「浏览器如何找到一个网页」
01

FOUNDATION

必须理解

服务器并不是特殊物种,而是一台长期运行程序并通过网络提供服务的电脑。把它拆成机器、操作系统、端口和进程,就能理解部署和远程排错。

本课依次讲清公网 IP 与内网 IP、入站与出站连接、SSH、用户、权限、防火墙与安全组和Nginx 等 Web 服务如何把文件或请求交给浏览器,最后通过“请 AI 审核图中是否混淆机器、端口和程序,再自行修订”检查学习结果。

先建立整体直觉

服务器像一栋对外营业的大楼:公网 IP 是街道地址,防火墙与安全组是门禁,端口是不同窗口,进程是窗口里的工作人员,SSH 是管理员通道。

贯穿本课的实际场景

任务应用的 Next.js 进程监听内部端口,反向代理接收公网 HTTPS 请求并转交给它;数据库进程只允许应用所在网络访问。

概念 1

公网 IP 与内网 IP、入站与出站连接

先用白话理解

公网 IP 能从互联网找到,内网 IP 通常只在公司、宿舍或云网络内部使用。云平台的安全组还像一道门禁,决定谁能连哪个端口。

基础概念

公网 IP 可被互联网路由到,内网 IP 只在某个局部网络中有效。入站连接是外部主动连接本机服务,出站连接是本机主动访问外部服务。

进一步理解

云服务器往往同时有公网和内网地址。防火墙或安全组按来源、协议与端口决定允许哪些入站流量;应用主动下载依赖则属于出站。

把端口开放到全网只是建立网络入口,不能替代应用认证。数据库等内部服务通常只应让应用所在网络访问。

放进实际场景

任务应用对公众开放 443 端口提供 HTTPS,但数据库端口只允许应用服务器内网连接,管理端口还要限制来源。

容易混淆的地方

公网 IP 不意味着所有端口自动开放,端口开放也不代表对应进程正在监听。网络规则与应用状态要分别检查。

这一小节记住:先确定地址范围和连接方向,再配置最小必要入口。

概念 2

SSH、用户、权限、防火墙与安全组

先用白话理解

SSH 可以让你像坐在服务器面前一样操作终端,只不过连接经过了加密。登录要同时对上主机、用户名和凭证;私钥相当于实际的钥匙,不能发给别人。

基础概念

SSH(Secure Shell,安全外壳协议)用于加密地远程登录和执行命令。登录身份由主机、用户和凭证共同确定;文件权限决定该用户能做什么。

进一步理解

密码是一种凭证,密钥登录使用配对的公钥与私钥:公钥可放服务器,私钥必须留在可信设备并妥善保护。

防火墙决定连接能否到达 SSH 端口,SSH 服务决定是否监听,用户与凭证决定能否登录,系统权限再决定登录后能否读取或修改目标。

放进实际场景

连接超时时先查地址和网络规则;连接被拒绝查端口与 SSH 服务;认证失败再查用户名、密钥和权限。

容易混淆的地方

SSH 加密传输,但不会让误执行的高权限命令变安全;登录成功也不代表应当使用管理员账户运行所有应用。

这一小节记住:远程管理要分层检查连接、身份和操作权限。

概念 3

Nginx 等 Web 服务如何把文件或请求交给浏览器

先用白话理解

服务器开着并不代表网站就存在。还得有一个程序持续监听端口;Nginx 可以先接住公网请求,再把它转给确实处理业务的 Next.js 应用。

基础概念

Web 服务是监听网络端口并按 HTTP 返回内容的程序。Nginx 常作为反向代理先接收公网请求,再把请求转交给内部应用进程,也可以直接提供静态文件。

进一步理解

反向代理可以统一处理 HTTPS、域名、压缩和转发,让应用只监听内网端口。确实生成页面或 API 响应的仍可能是 Next.js 等应用。

服务器在线、Nginx 运行、应用进程运行是三件事。任一环节断开,外部表现都可能是网页打不开,需要按请求路径逐段检查。

放进实际场景

浏览器连接 443 上的 Nginx,Nginx 根据域名把 `/api/tasks` 转给本机 3000 端口的任务应用,应用再查询数据库。

容易混淆的地方

Nginx 不是后端业务本身,进程也不是端口;进程监听端口后,网络请求才有接收者。

这一小节记住:服务器只是运行场所,确实提供能力的是持续监听并正确配置的进程。

02

AI COLLABORATION

AI 如何参与

在服务器、公网 IP、SSH 与 Web 服务这一课,AI 负责根据真实材料解释公网 IP 与内网 IP、入站与出站连接并指出遗漏,学习者负责控制范围、执行修改和核对目录内容、命令输出、HTTP 响应和服务日志。

推荐协作顺序

  1. 1

    告诉 AI 你连接的主机、端口和具体错误,但不要提供密码或私钥。

  2. 2

    让它把“超时”和“拒绝连接”分开解释,再给不同检查顺序。

  3. 3

    每做一项检查就记录结果,直到能确定是网络、端口、进程还是权限。

可直接使用的 Prompt
我只做排错分析,不执行修改。请分别针对连接超时、连接被拒绝、SSH 认证失败和网页 502,按证据给出检查顺序。禁止开放所有端口、关闭防火墙或索取任何凭证。
应该得到什么

按网络可达、端口监听、身份权限、进程状态和代理配置逐层排查,并保持最小权限;服务器、公网 IP、SSH 与 Web 服务的人工验收必须回到真实页面、请求、终端、测试或数据结果,不能用 AI 的文字说明代替。

人工检查清单

  • 确认建议不会暴露私钥、密码或数据库端口,也不会把临时关闭安全控制当作长期方案。
  • 要求 AI 根据超时、拒绝连接和认证失败分别给出证据链,不能混成一份清单。
  • 在不暴露凭证的前提下,用端口监听、服务状态和实际请求逐层验证建议。
03

COMMON TRAPS

常见误区

下面三类问题会让任务看似完成,却经不起刷新、错误输入或真实环境检查。先看现象,再找原因和修正方法。

误区 1

把服务器当成云端文件夹

你会看到
只上传文件,却没有程序在端口监听。
为什么发生
文件存在不会自动产生网络响应。
怎样纠正
确认运行方式、进程状态和监听地址。
误区 2

连接失败就开放所有端口

你会看到
为了排错把服务暴露给整个互联网。
为什么发生
扩大入口不会解释错误,还会增加攻击面。
怎样纠正
只开放明确端口和来源,用日志定位原因。
误区 3

把私钥发给 AI

你会看到
排错消息中出现凭证或完整秘密配置。
为什么发生
把敏感材料当成了普通上下文。
怎样纠正
只提供脱敏错误与权限信息,凭证始终留在本地。
04

HANDS-ON

动手任务

能区分连接超时、拒绝连接、认证失败和代理错误,并按网络、端口、进程、配置顺序检查。

准备条件
  • 完成 2.3「浏览器如何找到一个网页」

跟着做

  1. 01

    画出本机、路由器、互联网和云服务器的关系。

  2. 02

    在图中标出公网 IP、内网 IP、SSH 与 HTTPS 端口。

  3. 03

    为任务应用标出反向代理、Next.js 进程和数据库进程。

  4. 04

    给四种常见错误各写一条第一检查项。

  5. 05

    请 AI 审核图中是否混淆机器、端口和程序,再自行修订。

完成标志

能区分连接超时、拒绝连接、认证失败和代理错误,并按网络、端口、进程、配置顺序检查。

加餐挑战

为一台测试服务器写最小开放清单,并解释为什么数据库端口通常不应向全网开放。

离开本课前,自问四件事

  • 公网 IP、内网 IP、入站连接和出站连接分别是什么?
  • SSH 连接超时、被拒绝和认证失败应分别检查什么?
  • Nginx、应用进程和数据库在请求链路中各自承担什么角色?
  • 为什么数据库端口通常不应直接向全网开放?
完成本课了吗?

确认完成后,会同步更新学习中心的课程学习进度。