2014-03-12 25 views
0

Im在Netty 4中實現了一個Proxy Protocol解碼器。該協議允許外部代理(本例中爲HAProxy)向代理服務器後面的內部服務器提供遠程地址詳細信息。我可以覆蓋由Netty 4中Channel提供的remoteAddress嗎?

爲了在我的管道中包含這個,我需要覆蓋由Netty Channel提供的SocketAddress。我想我可以將通道上的代理協議提供的地址作爲屬性,但是ID寧願儘可能讓解碼器不適用於我的應用程序,只需在通道上直接更新remoteAddress即可。

有什麼想法?

回答

0

不能覆蓋它,因爲它是特定於運輸。

0

正如諾曼所言,目前是不可能的。但是,我們正在討論如何無縫地實現代理支持。暴露後端遠程地址也是我們必須回答的問題之一,以獲得正確的代理支持。請隨時加入討論:https://github.com/netty/netty/pull/1740

+0

感謝您的澄清,有沒有計劃實施透明支持(不使用屬性)沿着軌道?例如netty 5. – abonstu

+0

這個計劃是在4.x中添加這樣的特殊屬性,所以人們不需要等待5. – trustin

+0

你認爲更好的類型安全的API比較好:'channel.isProxied()? channel.proxyInfo()。remoteAddress():channel.remoteAddress()'? – trustin

相關問題