常见端口理解及在linux中测试url被请求到

40 阅读2分钟

1.常见端口对照表

端口服务说明
80HTTP标准Web服务
443HTTPS标准加密Web服务
8080HTTP AlternativeJava 应用常用(Tomcat 默认)
8443HTTPS AlternativeJava 应用 HTTPS(Tomcat 默认
8009AJPTomcat AJP 协议
9090Management常用于管理界面

2.架构 B:使用 Nginx 反向代理(生产环境推荐)

  • 用户浏览器
  • Nginx 反向代理
    • ├─ 监听 443 (HTTPS)
    • └─ 转发到 ↓
  • Docker Container (CAS)
    • └─ 监听 8080 (内部)

3.80 端口 vs 8080 端口:

特性80 端口8080 端口
类型标准 HTTP 端口(官方)非标准 HTTP 端口(替代)
IANA 注册正式分配给 HTTP未正式分配(常用备选)
浏览器访问example.com(默认example.com:8080(需指定)
权限要求Linux 需要 root 权限(<1024)普通用户即可使用(>1024)
典型用途生产环境对外服务开发/测试/内部服务
防火墙通常默认开放可能需要手动开放
  • 1980年代 - HTTP 协议诞生
  • 端口 80 被 IANA 正式分配给 HTTP
  • 问题:Unix/Linux 系统中,1024 以下的端口需要 root 权限
  • 开发者不方便(不能用 root 运行开发服务器)
  • 解决方案:使用 8080(80 + 80,容易记忆)作为替代端口

4.Linux 端口权限规则:

 端口范围          权限要求           说明
 1 - 1023         root           "特权端口" (Well-known ports)
 1024 - 65535     普通用户        "非特权端口"

5.在linux,或者k8s pod中,测试某一个url能否被访问到 http模式:

# 第一步:快速检查接口是否活着
curl -I http://192.168.1.100:8080/user/info

# 第二步:活着的话,看具体返回数据
curl http://192.168.1.100:8080/user/info

# 第三步:有问题时,用 -v 看完整通信细节
curl -v http://192.168.1.100:8080/user/info