使用 SSL 优化 nginx,以应对没有会话的机器人流量

使用 SSL 优化 nginx,以应对没有会话的机器人流量

我运行的服务 cronitor.io 有一个遥测收集 API,可以看到大约 1000rps 的突发流量。(整体基线要低得多,称之为 100rps)

我们的大多数请求都来自 curl 和每种语言中最流行的 HTTP 库(Requests、Guzzle 等)。这些客户端不像浏览器那样维护 SSL 会话。这会导致相对较小的 http 请求需要进行大量 SSL 握手。

我很乐意听取任何关于针对此用例优化 nginx 的提示。我们将请求上传到 uwsgi。当前 nginx.conf 中的相关部分:

worker_processes auto;

events {
    worker_connections 1024;
}

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 20M;
gzip on;

这实际上是从我们的应用服务器克隆的。我做了一些研究,对要尝试的事情有一些想法(例如,禁用服务器令牌),但我很乐意听取任何建议。

相关内容