端口与服务
80/443/8080/3000/3306 在本站栈中的角色。
30 分钟
端口与服务
端口是传输层上的逻辑编号(0–65535),让同一 IP 上多个服务并存。CodeRoadMap 生产栈固定:443 对外,3000/8080/3306 仅本机。
学习目标
- 读懂
IP:端口的寻址方式 - 熟记本站常用端口与对应进程
- 用 ss/netstat 验证监听与暴露面
核心内容
端口分段直觉
| 范围 | 说明 |
|---|---|
| 0–1023 | 知名端口(80、443、22) |
| 1024–49151 | 注册端口 |
| 49152–65535 | 动态/临时端口(客户端出站) |
CodeRoadMap 端口表
| 端口 | 服务 | 监听地址 | 公网 |
|---|---|---|---|
| 22 | SSH | 0.0.0.0 | 是(建议密钥登录) |
| 80 | HTTP → 301 HTTPS | 0.0.0.0 | 是 |
| 443 | Nginx TLS | 0.0.0.0 | 是 |
| 3000 | Next.js platform | 127.0.0.1 | 否 |
| 8080 | Spring Boot API | 127.0.0.1 | 否 |
| 3306 | MySQL | 127.0.0.1 | 否 |
Nginx 配置见 ngx-proxy;HTTP 路径规则见 http-rest。
请求如何选端口
https://coderoadmap.cn/api/tracks
│
DNS → 公网 IP
│
TCP 目标端口 443(HTTPS 默认)
│
Nginx 按 location 反代
├─ /api/* → 127.0.0.1:8080
└─ / → 127.0.0.1:3000
│
└── JDBC → 127.0.0.1:3306
验证命令
ss -tlnp | grep -E ':443|:3000|:8080|:3306'
lsof -i :8080 # 需 root 时加 sudo
curl -s http://127.0.0.1:8080/actuator/health
期望 :3000、:8080 显示 127.0.0.1 而非 0.0.0.0。防火墙收紧见 linux-firewall。
练习
- 默写 CodeRoadMap 六端口及是否应对公网