# 緣起
自從開發的服務移到公雲上後,發現總是有10%機會出現連線失敗的情況
C#回應的錯誤是...
The SSL connection could not be established, see inner exception.--> Received an unexpected EOF or 0 bytes from the transport stream.
針對錯誤 Received an unexpected EOF or 0 bytes from the transport stream. 去查
發現市面上(?)的文章從2010年開始就有,
大多都是說是SSL協定的問題,建議要多一行直接寫死SSL協定的程式語法
ex...這篇文章
不過初步判斷大家都是連不通,而不是像我一樣是一定機率不通
所以心中就覺得肯定不是這問題,直接開了一個ticket給公雲維運商!
然後...對方中國籍窗口問問情況後,就石沉大海....
ㄟ~ 這樣的服務有夠....
# 原因
我決定還是要處理這個問題!
開始一連串的測試! 首先我用 線上SSL檢查去看看我呼叫fcm API 的SSL協定
https://www.ssllabs.com/ssltest/analyze.html?d=fcm.googleapis.com
發現沒有問題,每個都支援tls 1.2 那肯定不是我的問題
防火牆議題的機率就上升了!
然後來測試看看正式環境到底打fcm.googleapis.com會解析出什麼ip來
我的工具是curl
用法如下
curl -I https://fcm.googleapis.com --verbose
-I 只顯示header
--verbose 顯示詳細連線資訊
連續打了100次果然後看到問題了!!!
果然是dns解析出的某幾個ip沒有開對外防火牆。
收工!
失敗
成功