2015-08-16 138 views
2

由於一週左右,我的Nginx服務器間歇性地出現SSL問題。間歇性的SSL握手錯誤nginx

我知道有關於計算器這個問題一些其他的話題,但沒有這些問題的答案似乎適用

1它是一個真正的問題,因爲當我工作的網站上,它只是突然死在我身上,在Chrome(版本44.0.2403.155)中給我SSL錯誤:

SSL connection error ERR_SSL_PROTOCOL_ERROR

它也發生在FF上。

2服務器未對任何Nginx的(1.8.0)或OpenSSL的(OpenSSL的1.0.1e運行內存(OOM不跑的跡象和頂部都似乎確定爲好)可

3無更新2013年2月11日)在Debian上運行(7.8)

4我沒有安裝任何特殊的第三方庫(只是標準的nginx,MariaDB的,PHP通過fpm的設置沒有電子郵件服務器)

我的日誌有這些項:

[crit] 15592#15592: *317414 SSL_do_handshake() failed (SSL: error:1408A0D7:SSL > routines:SSL3_GET_CLIENT_HELLO:required cipher missing) while SSL handshaking,

服務器安裝了NTP以確保服務器時間同步(對嗎?)。

當我遇到問題,並給它幾分鐘,並重新加載頁面,它再次工作,但它不斷髮生。對於其他人看我的日誌似乎並不經常發生。

回答

0

我結束了與解決方案:

我不得不使用一些特殊的子域相同的SSL證書,並去除徹底解決了這個問題的多個服務器塊..

所以基本上看來我只能在一個塊中使用CERT(即使它是通配證書)。我認爲問題不在於證書,而是由Nginx訪問CERT文件或其他東西。對多個子域使用證書或正則表達式確實有效(所以只有一個帶有證書的服務器塊,但將域定義爲* .domain.com)

+0

因此,您添加了另一個帶有server_name * .domain的服務器塊。 com'與你的SSL配置,然後從其他服務器塊刪除SSL配置? – AJMaxwell

+0

@AJMaxwell在我爲不同的子域創建多個服務器塊之前,我使用* .domain.com將它們合併在一起,然後只管理該服務器塊中每個子域的區別。 – StevenFlecha