更新

更新

我在 Windows 计算机上的 32 位 Apache 服务器上有一个来自第三方供应商的应用程序。(无法更改这一点)。

设置:

  • 流量是 HTTPS,端口 443。
  • Apache Web 应用服务
  • Activemq 服务
  • 应用服务

每个服务监听不同的端口。

有许多并发请求,但它们来自同一来源。

我们无法将 SSL 终止卸载到外部服务器,因为出于安全原因,服务器之间的所有流量都必须加密。

我们的初始配置是使用 apache mod_proxy 将流量引导至其他服务。

在达到一定负载时,它运行良好。但它被限制为 ThreadsPerChild 为 700。Apache 32 位不允许增加它。

我们尝试使用 nginx 作为负载均衡器。在 Windows 上,它将 worker_connections 限制为 1024。但由于 SSL 终止,它无法处理超过 500 个请求。我们尝试优化 nginx 的 SSL 终止,但结果并没有改善。我们尝试了几种 nginx SSL 终止和缓存配置,但没有看到结果有任何改善。

ssl_ciphers '...';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m; 
ssl_session_timeout 10m; 
ssl_session_tickets on;
ssl_buffer_size 4k; 
listen 443 ssl http2;

我们测试了 Apache 和 nginx,它们可以处理最多 5000 个正常的未加密的 HTTP 连接。

更新

worker_connections=4096这是尝试与 SSL 一起使用时出现的错误:

在此处输入图片描述

如何解决这个问题?

顺便说一句:我们并没有锁定在 Apache 或 Nginx 上。如果有人知道任何其他在 Windows 上运行良好的反向代理解决方案,请告诉我们。

相关内容