2016-08-12 18 views
1

私はspring-WSを使ってWSDLを実装したマイクロサービス(spring-boot)を持っています。 Zuulを使用して、ゲートウェイサーバー経由でWSDLにアクセスする計画です。Zuulプロキシの背後にあるspring-ws

ゲートウェイからのアクセス:Zuulルートがゲートウェイで設定されている8080 /統合/ WS/test.wsdl

を::

integration: 
    sensitive-headers: 
    path: /integration/** 
    url: http://localhost:9090 

WSDLをして返されます。http // 192.168.1.5正しいポート番号(8080)ですが、不正なホスト名です。接頭辞「/ integration」も返されません。

<wsdl:service name="TestPortService"> 
    <wsdl:port binding="tns:TestPortSoap11" name="TestPortSoap11"> 
     <soap:address location="http://localhost:8080/ws"/> 
    </wsdl:port> 
</wsdl:service> 

手動でX-Forwarded-Forヘッダーを設定しても、ホスト名は決して変更されないようです。 [これは私がズールなしでテストする]。プロキシの背後でSpring-WSを動作させるためには何が欠けていますか?私は、Springブートのアプリケーションプロパティでremote_ip_header & protocol_headerを設定しました。

答えて

1

Zuulは、リクエストがデフォルトで転送される前に、実際にリクエストからプロキシプレフィックスを削除します。個別のサービスについては、以下のようにstripPrefix=falseでこの動作を無効にすることができます。あなたがすべてのルーティングのためにしたい場合zuul.stripPrefix=false

application.yml 
zuul: 
    routes: 
    users: 
     path: /myusers/** 
     stripPrefix: false 

これはあなたの問題を解決します。

関連する問題