2017-09-04 67 views
0

我使用駱駝2.18.1和具有類似於http4路線Apache的駱駝http4檢測端點協議

<to id="Http4Endpoint" uri="https4://{{servicename}}?sslContextParameters=mySslContext"/> 

{{服務名}}經由BridgePropertyPlaceholderConfigurer加載,這樣我可以指定在不同環境中的端點。

我剛剛遇到的問題是,我的一些測試環境不是https,路由失敗,因爲它似乎試圖強制https通信。

我以前使用碼頭生產者,你可以在{{servicename}}中指定http或https並且它自動協商,但是http4似乎只允許主機名:端口。

如何管理不同環境之間的本地化,以便它可以與http或https端點一起使用?

感謝

+1

爲什麼不注入整個URI參數佔位符? –

+0

我可能會沿着這條路走下去,但這對下游部署團隊來說確實更困難。他們不一定明白http(s)4或sslContextParameters等等。 – Karl

+0

根據某些條件,您可以通過環境變量注入。但我做了類似的事情,我們注入了整個uri字符串。如果你願意,你也可以從屬性文件中加載它。 –

回答

0

您可以在URI中使用更多的佔位符,所以你可以有另一種選擇,如果它的HTTP或HTTPS進行配置。

+0

嗨克勞斯,我的主要問題是加載的SSL上下文。我只需要ssl,如果ssl上下文存在,那麼即使指定了http4,它似乎也會將其強制爲https。我可以使用多個佔位符來實現這一點,但它開始增加了屬性文件的複雜性,這使得下游部署團隊更加困難 – Karl