2014-05-22 59 views
2

我在HTTPS模式下設置Sentry服務器時遇到問題。現在再逢,合理的經常一邊看似隨意,此錯誤信息被寫入由烏鴉(哨兵客戶端)到日誌文件:無法訪問Sentry日誌服務器:發生EOF違反協議

Unable to reach Sentry log server: <urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol> (url: https://$(valid_server)/) 

的Web UI工作正常。來自Raven的大部分消息都被收到,Sentry將它們處理成可用的輸出。但是,由於這些錯誤,有時會丟失一些東西。

我試圖找出這一個,但死衚衕似乎跟隨另一個。基本上,它看起來像這樣的很多:

Python Requests requests.exceptions.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

但隨着使用TLS 1.2類似的s_client.First查詢測試我的哨兵服務器時,它會導致一個有效的會話不像那裏的例子。

它也不會因爲這個,因爲不使用SNI:

python-requests 2.0.0 - [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

我不能連貫地重現錯誤。 Raven的測試通過,沒有什麼是嚴重錯誤的,直到日誌中彈出一個錯誤。

我的設置是:Raven 4.2.1在Python 2.7.5中,Nginx 1.6.0作爲反向代理處理HTTPS,最後是Sentry 6.4.4,默認使用Gunicorn 0.17.4。 Nginx配置與官方文檔(http://sentry.readthedocs.org/en/latest/quickstart/nginx.html)非常相似,只是由於HTTPS而進行了一些更改。

+0

可接受的解決方法是在服務器到服務器的連接中使用純HTTP。 – empe

回答

2

我遇到了同樣的問題,得到它通過安裝以下依賴固定:

在Ubuntu:

sudo aptitude install libffi-dev 

,然後通過PIP:

pip install pyopenssl ndg-httpsclient pyasn1 

這個問題似乎是因爲Python 2.X不支持SNI(這是TLS所需的)開箱即用,如here所述。

+0

嗨 - 我需要在客戶端或哨兵端安裝軟件包?或兩者? – agend

+0

@agend你只需要在客戶端安裝這些。我不知道服務器端,因爲我沒有運行我自己的哨兵服務器。 – rkrzr

相關問題