Edge Micro on Pivotal Cloud Foundry setup - Error "400 bad request: Failed to validate Route Service Signature"

Not applicable

I need help configuring Edge Micro to work on PCF. Right now the routes are giving me "400 Bad Request: Failed to validate Route Service Signature" when attempting to get to the api internally after binding the route.

Current Setup:

Trial Edge Cloud account

PCF 1.9

First attempt at setting up micro

Using the sample app: git clone https://github.com/apigee/pivotal-cf-apigee.git

cf push test-apigee

Service broker installed fine.

Create Proxy: cf bind-route-service apps.<DOMAIN> test-apigee-microgateway --hostname test-apigee -c '{"org":"ORG","env":"test","bearer":"'$(cat valid_token.dat)'", "action":"bind","micro":"test-apigee.apps.ORG"}'

Bind Route: cf bind-route-service apps.<DOMAIN> test-apigee-microgateway --hostname test-apigee -c '{"org":"ORG","env":"test","bearer":"'$(cat valid_token.dat)'", "action":"proxy","micro":"test-apigee.apps.ORG"}'

I see the proxy created in the UI with what I think is the correct setup.

I've read through all of the documentation I could find and followed the steps on the github page. I have a feeling this relates to this comment on the github page. "Another general requirement is that the proxy is part of a published API Product; a change you must make manually."

Any help you can provide would be appreciated.

Kind Regards,

Josh

0 6 815
6 REPLIES 6

Former Community Member
Not applicable

Looks like you ran the "action":"bind" before "action":"proxy" based on what you mention above, can you confirm? I feel the error has more to do with no routes being bound i.e its erroring out at the PCF layer before it even reaches Apigee. I feel that there is probably no binding in place. You may wan to run the cf routes command & see if there is indeed an route for your app to the edgemicro (also deployed as a cf app). If not re-run the "action":"bind" and see if that works.

Not applicable

I double checked the order in which I did things. And verified I did Proxy before bind. I can see the application bound to the service in "cf routes". I believe the issue to be me and not understanding how the microgateway works, specifically what the json object "micro" is for. It looks like the bind created a weird path

{"name":"apigee","hostname":"76e1b733-7f1d-43ed-6b4d-c9d15fc5f9d6","pid":20,"level":30,"msg":"route proxy url: https://test-apigee.<DOMAIN>/test-apigee.<DOMAIN>; -> edgemicro_cf-test-apigee.<DOMAIN>","time":"2017-03-27T22:34:40.760Z","v":0}

It's an interesting route as I would not expect to see the URI twice. Is there something else I should have set in the JSON for either the bind or proxy?

Kind Regards,

Josh Staley

Former Community Member
Not applicable

Can you post the o/p from your cf routes & cf services command?

Not applicable

Thank you for your help. Here is the output as requested

➜  cf routes
space         host                                   domain                             port    path   type   apps                       service
.....
development   test-apigee                            apps.preprdpcf01.audaexplore.com                         test-apigee                test-apigee-microgateway
....


➜  cf service test-apigee-microgateway


Service instance: test-apigee-microgateway
Service: apigee-edge
Bound apps:
Tags:
Plan: microgateway
Description: Apigee Edge API Platform
Documentation url: http://apigee.com/docs/
Dashboard: https://enterprise.apigee.com/platform/#/


Last Operation
Status: create succeeded
Message:
Started: 2017-03-27T18:52:31Z
Updated: 2017-03-27T18:52:31Z

Former Community Member
Not applicable

So from your o/p, I do not see the Edge Micro (EM) App itself deployed as an app in CF, that can explain the error. You need to follow steps here. Once you have deployed EM as a CF app, you do the proxy & bind steps. The"micro" json object refers to the FQDN of the EM app. Hope this helps.

Former Community Member
Not applicable

@Joshua Staley any luck?