Question

I have to use nginx as proxy for an API manager installation using secure SSL connection. Any hint on how to configure all to make it work?

Thanks

Luca

Was it helpful?

Solution

Current version of API manager doesnt support "https" endpoints...We have that in our roadmap and will fix that in future release. But you can use ESB between APIManager and your backend service to route the request

OTHER TIPS

As of WSO2 API Manager version 1.3.0, support for invoking secured back-end services has been added. Please see below synapse configuration of a sample API which invokes a secured back-end service. Currently support is only available for services secured over Basic Auth.

<api xmlns="http://ws.apache.org/ns/synapse" name="admin--SecuredAPI" context="/secure" version="1.0.0" version-type="url"> 
    <resource methods="POST GET OPTIONS DELETE PUT" url-mapping="/*"> 
        <inSequence> 
            <property name="Authorization" expression="fn:concat('Basic ', base64Encode('username:password'))" scope="transport"/> 
            <property name="POST_TO_URI" value="true" scope="axis2"/> 
            <filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> 
                <then> 
                    <send> 
                        <endpoint name="admin--SecuredAPI_APIEndpoint_0"> 
                            <address uri="https://securebackend.com/search"> 
                                <timeout> 
                                    <duration>30000</duration> 
                                    <responseAction>fault</responseAction> 
                                </timeout> 
                                <suspendOnFailure> 
                                    <errorCodes>-1</errorCodes> 
                                    <initialDuration>0</initialDuration> 
                                    <progressionFactor>1.0</progressionFactor> 
                                    <maximumDuration>0</maximumDuration> 
                                </suspendOnFailure> 
                                <markForSuspension> 
                                    <errorCodes>-1</errorCodes> 
                                </markForSuspension> 
                            </address> 
                        </endpoint> 
                    </send> 
                </then> 
                <else> 
                    <sequence key="_sandbox_key_error_"/> 
                </else> 
            </filter> 
        </inSequence> 
        <outSequence> 
            <send/> 
        </outSequence> 
    </resource> 
    <handlers> 
        <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/> 
        <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/> 
        <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler"/> 
        <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler"> 
            <property name="id" value="A"/> 
            <property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/> 
        </handler> 
        <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/> 
    </handlers> 
</api> 

Thanks, Nuwan.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top