2015-03-19 79 views
0

我是wso2 esb中的新成員。 我正在嘗試做一個安全的代理來保護一個不安全的Web服務。 我按照不同的教程,我做了以下配置我的代理:WSO2 ESB安全代理:發送到後端的請求已簽署

`<proxy xmlns="http://ws.apache.org/ns/synapse" 
    name="ProxyStockeSecure" 
    transports="https,http,local" 
    statistics="disable" 
    trace="disable" 
    startOnLoad="true"><target inSequence="LogAndRemoveHeader" outSequence="LogSeqResponse"> 
    <endpoint> 
    <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
    </endpoint></target><publishWSDL uri="http://localhost:9000/services/SimpleStockQuoteService?wsdl"/><enableSec/><policy key="sec_policy"/><description/></proxy> 

的LogAndRemoveHeader序列消除安全頁眉和登錄流程。

<sequence xmlns="http://ws.apache.org/ns/synapse" name="LogAndRemoveHeader"><log level="full"></log><header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" name="wsse:Security" scope="default" action="remove"></header><log level="full"></log></sequence> 

當我向安全代理髮送一個簽名的請求時,我可以看到代理驗證了它(感謝rampart)。 但是,當我查看後端服務器上的日誌時,發現Security標頭仍然存在,而我在「LogAndRemoveHeader」序列中刪除它。

在WSO2服務器,我可以看到,安全是正確刪除:

TID: [0] [ESB] [2015-03-19 01:20:31,508] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /services/ProxyStockeSecure, WSAction: urn:getSimpleQuote, SOAPAction: urn:getSimpleQuote, MessageID: urn:uuid:7d951378-9a98-4b60-bcba-cded778ee977, Direction: request, Envelope: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.samples"><soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Id-1150340834"> 
    <ser:getSimpleQuote> 
    <!--Optional:--> 
    <ser:symbol>1</ser:symbol> 
    </ser:getSimpleQuote></soap:Body></soap:Envelope> 

但是,在後端服務器上,該安全頭又回來了,我覺得WSO2已經重新簽署請求。事實上,DigestValue或SignatureValue與原始請求不同...

回答

0

使用send mediator將您的請求發送到LogAndRemoveHeader序列中的後端服務。以下是示例發送中介代碼。

<send> 
    <endpoint> 
    <address uri="http://localhost:9000/services/SimpleStockQuoteService"></address> 
    </endpoint> 
</send> 
+0

感謝您的回覆。但是發送到後端靜止圖像的請求包含安全性標頭。你有另一個想法嗎? – Shod 2015-03-19 10:53:38