I’m setting up 2-way ssl from the apigee proxy (on Apigee hosted Edge) to my back-end service, and uploaded the keystore, and truststore. I’m now configuring the proxy to use client authentication - but my back-end service isn’t locked down yet, so I’m configuring the proxy so I can enable it once the back-end server is updated.
I added in:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>devKeystore</KeyStore>
<KeyAlias>devKey</KeyAlias>
<TrustStore>devTrustStore</TrustStore>
</SSLInfo>
(yes the keystore, alias, and truststore shouldn’t be named ‘dev…’ but bear with me)
When I submit this, I get a wonderfully generic error:
{
"fault": {
"faultstring": "The Service is temporarily unavailable",
"detail": {
"errorcode": "messaging.adaptors.http.flow.ServiceUnavailable"
}
}
}
even changing the ClientAuthEnabled to ‘false’ gives the same error - if I comment out all besides ‘Enabled’, it results in successful processing.
My questions:
-
shouldn’t the error give me something at least a little better to diagnose what’s going on?
-
what’s the point of having a client auth enabled flag if there’s no difference between the behavior of true and false
-
even if set to true - if the underlying service doesn’t ask for it - what’s the harm in presenting it?