2012-03-30 2 views
3

Configuration SSL dans Java/Tomcat étant ce que c'est, j'ai configuré une instance de tomcat6 pour obtenir des requêtes d'un proxy inverse nginx gérant le SSL, en reliant les connexions à localhost: 8080. L'ajout d'en-têtes tels que X-Forwarded-For garantit que les points de terminaison apparaissent avec la bonne adresse, mais pas avec le bon protocole. Un client (dans mon cas python-mousse) récupère le WSDL très bien, mais trouve les emplacements suivants pour les ports SOAP:axis2 webapp derrière un proxy inverse produisant de mauvais emplacements

<wsdl:service name="WebService"> 
    <wsdl:port name="WebServiceHttpSoap11Endpoint" binding="ns:WebServiceSoap11Binding"> 
    <soap:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap11Endpoint/"/> 
    </wsdl:port> 
    <wsdl:port name="WebServiceHttpSoap12Endpoint" binding="ns:WebServiceSoap12Binding"> 
    <soap12:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap12Endpoint/"/> 
    </wsdl:port> 
    <wsdl:port name="WebServiceHttpEndpoint" binding="ns:WebServiceHttpBinding"> 
    <http:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpEndpoint/"/> 
    </wsdl:port> 
</wsdl:service> 

je soupçonne que c'est le http:// qui jette tout, que d'essayer d'utiliser cela se traduit par un défaut et le message suivant dans le journal de tomcat:

org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /axis2/services/WebService.WebServiceHttpSoap11Endpoint/ and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.

Est-il possible (en axis2 ou nginx) pour configurer ce pour faire ce travail? Je n'arrive pas à trouver un moyen de convaincre axis2 de générer l'emplacement de son point de terminaison pour inclure https://.

+0

En en attendant: 'X-Forwarded-Proto: https' n'est pas une solution (semble être ignoré par Axis2). – akaIDIOT

Répondre

3

Eh bien, longue googler heures enfin a abouti à un résultat: l'ajout d'un (pour autant que je peux voir) paramètre de configuration non documentée dans le fichier axis2.xml global de configuration génère le point de fin de travail droite urls:

<parameter name="httpFrontendHostUrl">https://10.10.3.96/axis2/</parameter>

Questions connexes