欢迎光临殡葬网
详情描述

1. HTTP/1.1 默认行为

默认情况下,HTTP/1.1 使用持久连接(长连接),HTTP/1.0 默认使用短连接。

2. 核心配置指令

控制长连接

http {
    # 开启长连接(默认已开启)
    keepalive_timeout 75s;  # 客户端长连接保持时间
    keepalive_requests 100;  # 一个长连接上允许的最大请求数

    upstream backend {
        server backend1.example.com;
        keepalive 32;  # 与上游服务器保持的连接数
    }
}

强制短连接

要强制使用短连接,可以:

location / {
    # 方法1:设置 keepalive_timeout 为 0
    keepalive_timeout 0;

    # 方法2:设置 Connection 头为 close
    add_header Connection "close";
}

3. 不同场景的配置示例

A. 静态资源服务器(推荐长连接)

server {
    listen 80;
    server_name example.com;

    keepalive_timeout 65s;
    keepalive_requests 1000;  # 静态资源可以设置更多请求

    location / {
        root /var/www/html;
        # 静态资源适合长连接
    }
}

B. API 服务器(根据需求调整)

server {
    listen 443 ssl;
    server_name api.example.com;

    # 中等长度的连接保持
    keepalive_timeout 30s;
    keepalive_requests 100;

    location /api/ {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";

        # 与后端的长连接设置
        proxy_connect_timeout 5s;
        proxy_read_timeout 30s;
    }
}

C. 代理到上游服务

upstream backend_servers {
    server 192.168.1.10:8080;
    server 192.168.1.11:8080;

    # 保持32个空闲连接到每个后端服务器
    keepalive 32;
}

server {
    location / {
        proxy_pass http://backend_servers;
        proxy_http_version 1.1;
        proxy_set_header Connection "";

        # 重置后端连接超时
        proxy_connect_timeout 5s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}

4. 最佳实践建议

使用长连接的场景:

高并发网站 - 减少TCP握手开销 API服务器 - 频繁的小请求 负载均衡器 - 与后端服务器保持连接 静态资源服务器

使用短连接的场景:

安全敏感应用 - 每个请求独立连接 低频访问 - 避免保持不必要的连接 测试/调试环境

5. 监控连接状态

# 查看当前连接状态
netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c

# 查看Nginx连接统计
nginx -T 2>/dev/null | grep keepalive

6. 完整示例配置

http {
    # 全局长连接设置
    keepalive_timeout 65s;
    keepalive_requests 100;

    # 限制每个worker的连接数
    worker_connections 1024;

    upstream app_backend {
        server app1:8080;
        server app2:8080;
        keepalive 16;
    }

    server {
        listen 80;

        # 静态资源 - 长连接
        location ~* \.(jpg|png|css|js)$ {
            root /var/www/static;
            keepalive_timeout 300s;
            keepalive_requests 1000;
        }

        # API接口 - 中等长连接
        location /api/ {
            proxy_pass http://app_backend;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            keepalive_timeout 30s;
        }

        # 管理后台 - 短连接(安全考虑)
        location /admin/ {
            proxy_pass http://admin_backend;
            keepalive_timeout 0;
            add_header Connection "close";
        }
    }
}

选择长连接还是短连接取决于:

性能要求 - 高并发用长连接 安全需求 - 敏感数据可考虑短连接 资源限制 - 连接数限制 应用类型 - 静态/动态内容
相关帖子
各地对网约车报废和退出的具体执行细则是否存在差异,车主需要注意什么?
各地对网约车报废和退出的具体执行细则是否存在差异,车主需要注意什么?
年终奖在个税汇算时选择哪种计税方式,可能让你退得更多?
年终奖在个税汇算时选择哪种计税方式,可能让你退得更多?
除了艺术品,数字藏品未来在游戏和娱乐产业中将如何被应用?
除了艺术品,数字藏品未来在游戏和娱乐产业中将如何被应用?
2026年公司规定提成发放需满足苛刻条件,这样的做法是否合法合规?
2026年公司规定提成发放需满足苛刻条件,这样的做法是否合法合规?
购买学区房时,如何准确核实该房产对应的小学划片范围及其历史稳定性?
购买学区房时,如何准确核实该房产对应的小学划片范围及其历史稳定性?
在食用当季蔬果时,有哪些有效的家庭处理方法可以减少农残疑虑?
在食用当季蔬果时,有哪些有效的家庭处理方法可以减少农残疑虑?
因手机信号或系统问题导致无法按时核销,会被误判为爽约吗?
因手机信号或系统问题导致无法按时核销,会被误判为爽约吗?
2026年中考综合素质评价越来越重要,小学阶段该怎么帮孩子攒素材?
2026年中考综合素质评价越来越重要,小学阶段该怎么帮孩子攒素材?
当有意外收入时,将其转为储蓄而非消费的心理技巧有哪些?
当有意外收入时,将其转为储蓄而非消费的心理技巧有哪些?
对于刚参加工作不久的年轻人,租房提取住房公积金有哪些便利条件与渠道?
对于刚参加工作不久的年轻人,租房提取住房公积金有哪些便利条件与渠道?
近年有哪些新兴的行业或赛道获得了更多的创业政策倾斜?
近年有哪些新兴的行业或赛道获得了更多的创业政策倾斜?
过桥垫资费用如何核算?结合计费规则看懂单日收费与总成本计算
过桥垫资费用如何核算?结合计费规则看懂单日收费与总成本计算
房产抵押贷款相关法规解读,学法懂法保障抵押借贷行为合法合规
房产抵押贷款相关法规解读,学法懂法保障抵押借贷行为合法合规
台风来临前窗外突然变得安静,真的是风暴已经过去了吗?
台风来临前窗外突然变得安静,真的是风暴已经过去了吗?
押车贷款办理流程详解,签订借据时借款用途怎么填写?
押车贷款办理流程详解,签订借据时借款用途怎么填写?
大暑三候
大暑三候"腐草为萤、土润溽暑、大雨时行"该怎么理解?
解读相关法律法规对“最终解释权归本店所有”这类单方声明的具体规定
解读相关法律法规对“最终解释权归本店所有”这类单方声明的具体规定
2026年有没有更智能的个人收款码账单管理与分析工具?
2026年有没有更智能的个人收款码账单管理与分析工具?
房产证红本抵押贷款办理流程全解析,从申请到放款只需七步
房产证红本抵押贷款办理流程全解析,从申请到放款只需七步
头伏饺子二伏面三伏烙饼摊鸡蛋,这套吃法背后是哪里的民俗习惯?
头伏饺子二伏面三伏烙饼摊鸡蛋,这套吃法背后是哪里的民俗习惯?