Ssl

欺騙太多客戶

  • October 22, 2018

我正在嘗試連接 stunnel 和 haproxy 以將 https 連接轉發到某些後端伺服器。

我已經正確設置了 haproxy,而且我似乎正確設置了 stunnel。麻煩的是,當我在一段時間後通過負載測試進行設置時,我開始看到這些日誌條目(在我開始收到連接被拒絕錯誤之前,我已經包含了來自正確連接的最後幾個條目):

2010.05.05 11:23:29 LOG7[3498:3086792368]: https accepted FD=510 from 10.195.158.225:42722
2010.05.05 11:23:29 LOG7[3498:3035233168]: https started
2010.05.05 11:23:29 LOG7[3498:3035233168]: FD 510 in non-blocking mode
2010.05.05 11:23:29 LOG7[3498:3035233168]: TCP_NODELAY option set on local socket
2010.05.05 11:23:29 LOG7[3498:3035233168]: Waiting for a libwrap process
2010.05.05 11:23:29 LOG7[3498:3086792368]: https accepted FD=511 from 10.195.158.225:42723
2010.05.05 11:23:29 LOG7[3498:3035167632]: https started
2010.05.05 11:23:29 LOG7[3498:3035167632]: FD 511 in non-blocking mode
2010.05.05 11:23:29 LOG7[3498:3035167632]: TCP_NODELAY option set on local socket
2010.05.05 11:23:29 LOG7[3498:3035167632]: Waiting for a libwrap process
2010.05.05 11:23:30 LOG7[3498:3086792368]: https accepted FD=512 from 10.195.158.225:42724
2010.05.05 11:23:30 LOG4[3498:3086792368]: Connection rejected: too many clients (>=500)
2010.05.05 11:23:30 LOG7[3498:3086792368]: https accepted FD=512 from 10.195.158.225:42725
2010.05.05 11:23:30 LOG4[3498:3086792368]: Connection rejected: too many clients (>=500)

我想我在某個地方遇到了限制,但我不確定如何修復它,似乎沒有 stunnel 的配置文件選項來改變它。

有誰知道如何為潛在的大量連接配置 stunnel?

據我回憶,stunnel 只是依靠 ulimit 設置來找到它在文件描述符中的限制。因此,您只需執行“ulimit -n 65536”,您將獲得大約 32000 的客戶端限制。

不過要小心,因為每個 SSL 上下文都可能使用大量記憶體。此外,如果您的 stunnel 線上程模式下工作,您不一定希望達到那麼高的執行緒數。

在此處檢查您的限制:cat /proc/$(pidof stunnel4)/limits

然後編輯文件/etc/default/stunnel4:設置 RLIMITS:RLIMITS="-n 65536"

重啟stunnel:sudo /etc/init.d/stunnel4 restart

再次確認您的限制cat /proc/$(pidof stunnel4)/limits

引用自:https://serverfault.com/questions/139396