CentOS 下 Postman 端口设置与排查
一、概念澄清
- Postman 是客户端工具,本身不“监听端口”。所谓“端口设置”通常指两类:
- 在 Postman 里设置目标 API 的 URL 端口(如 http://host:5000/api)。
- 在 CentOS 服务器上开放对应端口,确保 Postman 能连通被测服务(或本机服务能被外部访问)。
二、在 Postman 中设置目标端口
- 在请求地址中直接写明端口,例如:
- http://127.0.0.1:5000/health
- http://api.example.com:8080/v1/users
- 使用环境变量管理不同环境端口,便于切换:
- 在 Postman 顶部环境选择框新建环境,添加变量如 baseUrl=http://127.0.0.1:5000,请求 URL 写作 {{baseUrl}}/health。
- 这样在开发/测试/预发环境只需切换环境即可自动使用对应端口。
三、在 CentOS 上开放端口让 Postman 能访问
- 若被测服务运行在 CentOS 本机,需确保服务已监听正确端口(例如 5000),并开放防火墙:
- 开放端口(以 5000/tcp 为例):
- firewall-cmd --zone=public --add-port=5000/tcp --permanent
- firewall-cmd --reload
- 关闭端口(如需收回):
- firewall-cmd --zone=public --remove-port=5000/tcp --permanent
- firewall-cmd --reload
- 查看已开放端口与防火墙状态:
- firewall-cmd --list-ports
- firewall-cmd --state
- 若防火墙未运行,先启动:
- systemctl status firewalld(查看状态)
- systemctl start firewalld(启动服务)
- 云服务器场景:除系统防火墙外,还需在 云厂商安全组放行对应端口(如 5000/TCP),否则外部仍无法访问。
四、常见连通性排查清单
- 服务是否监听正确端口与地址:
- ss -tulpen | grep 5000(应看到 0.0.0.0:5000 或 :::5000,而非仅 127.0.0.1:5000)
- 本机到服务连通性:
- curl -I http://127.0.0.1:5000/health(能通再测远程)
- 外部到服务器连通性:
- 从另一台机器执行:nc -vz <服务器IP> 5000 或 curl -I http://<服务器IP>:5000/health
- 端口是否已在防火墙放行:
- firewall-cmd --list-ports(确认包含 5000/tcp)
- SELinux 是否拦截(如仍不通且为非常规端口):
- 临时排查可 setenforce 0;生产环境建议配置正确的 SELinux 策略而非长期关闭
- 云主机安全组/NACL:确认入方向放行对应 TCP 端口
五、Postman 代理与系统代理的端口设置
- 若使用 Postman 的 Proxy/Interceptor 捕获浏览器或系统流量,需要在 Postman 的 Proxy 设置中指定代理端口(常见为 8080),并确保该端口未被占用、且防火墙已放行:
- 在 Postman:Settings → Proxy → 开启代理,设置 Proxy Server: localhost,Port: 8080
- 如需外部设备通过 Postman 代理,请改为服务器 本机IP 并放行对应端口
- 注意:这是 Postman 自身的代理端口,与被测服务的端口无关。