主要針對微信退款時,突然請求HTTP時出現:No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 問題解決


 

 

你懂那種痛苦嗎,就是本地,測試,預發環境都是好好的,然后線上突然報這個問題(然后領導問我:之前沒有做測試嗎!!!    我:??? 內心OS:您老是不是愛吃蝦~都在線上跑這么久了,然后才突然出現的~)

     咳~言歸正傳~線上支付的人流量比較大,退款雖然是很小一部分,但是一天來個幾筆讓人也是很煩的~看報錯的字面意思是在報協議錯誤?還是一臉懵,不支持協議是個什么鬼~難不成是微信那邊請求的接口出現什么變化了?但是不可能啊,要是這種接口微信那邊隨便的變動,那網上還不炸開了鍋,於是遵從不懂就問度娘的優良傳統,我到網上收了一下,這個問題,然后就發現這種中二的問題還不是我一個人有遇見,然后網上提供的方法各式各樣的都有,這邊就不一一解釋了,主要是提供一下本大小姐的 解決艱難路徑~(快謝恩~)

       第一種:網上說請求用了不支持的協議,需要修改請求路徑定義的協議

                  

        我用的請求地址的jar是 IJPay:1.2.2,然后請求地址一路點下去還真找到,網友提到的這個協議TLSv1,然后網友建議 把這個指定的協議設置為null,然后讓他使用默認的協議,這個問題就解決了,看着好像很有道理的樣子~但是!!!他呀的這個是第三方的jar包,我他丫要是想改就得重頭復寫這個方法~中間不知道還會有多少坑~~這個方案暫時擱淺,懶人的心理看看還沒有其他的簡單一點解決方案~

        第二種 :修改服務器這個路徑jdk/jre/lib/security/java.security的配置文件

                  

         這個意思就是說修改jdk的配置文件,允許SSLv3如果還有禁止的協議還有TLSv1,TLSv.1 等協議可以一起解封,都刪掉就可以了(disable嘛~就是不允許,刪除就是允許嘛)這兒還有一個問題,就是由於測試環境和預發環境都沒有報這個錯誤,沒法測試就只能去線上的服務器玩了,然后這里有個巨大無比的坑,我們微信退款的證書他妹的過期了,上線后發現還是報錯測試就以為改的不對,他就還原了,我~然后后續想象的到,我開始嘗試各種方法,過程之慘烈就不說了,后來還是我自己去看的日志才發現是在報證書失效~~這兒還是說明一下

     微信退款的時候證書失效解決方案(看另外一篇文章吧~https://www.cnblogs.com/zxw914/p/15544503.html)

     證書解決了,然后再用上面的第二種方案退款就正常了,看着手機正常的退款,心情不知道多復雜,丫丫的,這兒說明一下網上有教人重新安裝JDK的,如果不是到萬不得已的地步,千萬不要輕易嘗試,修改一下JDK的配置文件其實就好了,不然隨便動服務器的JDK會出大問題的(不要問我是怎么知道的,這都是血淋淋的教訓~不說了)    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM