I need to get the name of the inbound endpoint in my sequence, I know I can get the name of proxy or api as follow:
expression="$ctx:proxy.name" expression="$ctx:SYNAPSE_REST_API"
how do i do it for IEP ?
You can get it with: $ctx:inbound.endpoint.name
Related
I tried to create a HTTP API through API Gateway.
This API generated a URL e.g. https://{api-id}.execute-api.{region}.amazonaws.com/
This endpoint works as intended.
After this; I created a custom domain name and under "Api Mappings", I added this newly created API, set the stage the $default and left Path (Optional) as blank. This generated another endpoint (which is supposed to be added as an A record in Route53). When I try to hit this new endpoint; I get {"message":"Not Found"}. This "connection" between the custom domain endpoint and the working api gateway endpoint doesn't seem to work. Any pointers on how to fix this?
Other Information:
I own the custom domain
Adding a custom domain required uploading a SSL certificate (I had a valid one and I uploaded it - verified and all good)
The API is a basic HTTP API which refers to a Cloudfront URL. This endpoint is fully functional and working as expected.
Endpoint Type: Regional
No multiple "Stages" for API/Routes - only a $default one
I have created a sample API Gateway using "HTTP API".
I then add a custom domain and added the relevant CNAME record to the DNS.
I then go on Configure API mappings, to add the HTTP API but I get the following error message:
Mixing of REST APIs and HTTP APIs on the same domain name can only be accomplished through API Gateway's V2 DomainName interface. Currently, WebSocket APIs can only be attached to a domain name with other WebSocket APIs. This must also occur through API Gateway's V2 DomainName interface.
Note that adding normal "REST API" works fine.
What is the problem exactly and how do I fix it?
Note that I have since deleted all custom domains, and added this domain fresh, and it still does not work..
I got a second error message and this may explain the reason:
The error message says: "These API types may only be associated to REGIONAL domain names": this means that an HTTP API can only be associated with a REGIONAL custom domain so EDGE is not (hopefully yet) supported with EDGE custom domains.
You only have the option to use a REST API, in order to associate it with an EDGE custom domain, or to create multiple HTTP API deployments in multiple AWS Regions and use Route53 (or you own DNS provider) to map each regional deployment endpoint based on a low-latency strategy.
I have a wso2 API manager 3.0.0 setup on my linux. By default, the publisher, dev tools and management console url points to localhost. In order to access it via browser, I had to replace localhost with my server IP and it worked.
Now I have created a DNS and want to access it via DNS. It doesnt work.
Could you please let me know the exact steps to achieve this? What all files should I be changing?
Please note, id rather change in the application configuration files than change the server's host file.
You have to point the IP address of the server to DNS as an initial step. Then the request will route to your server.
As a second step, you have to configure the DNS hostname in the deployment.toml file, then the server knows where to route the request. Please refer to the documentation[1]
As a third step, you have to create a certificate with a new DNS hostname (CN) and change the primary key with the certificate. please refer to the documentation[2]
Can you provide what is the exception which you are getting with the new DNS route?
Thanks
[1]https://apim.docs.wso2.com/en/latest/install-and-setup/setup/deployment-best-practices/changing-the-hostname/
[2]https://apim.docs.wso2.com/en/latest/install-and-setup/setup/security/configuring-keystores/keystore-basics/creating-new-keystores/
I have put the Identity server behind a reverse proxy with apache changing the default port to default HTTPS (to allow access without our internal network), I have then modified the XML files to remove the {port} from the endpoints, BUT the /commonauth endpoint is still being sent in SAML requests with the port as the assertionURL/return url?
How do I change this? is it in any configs?
Thanks again
Add proxyPort="443" attribute to the HTTPS connector element at the repository/conf/tomcat/catalina-server.xml
I'm creating an entry in API Manager for one of our webservice endpoint which doesn't use the default HTTPS port of 443, it's binded to port 444 at the moment.
I'm configuring this API entry in WSO2 AM to be accessible via HTTPS only but I can't get it to work. I've entered https://:444/ as the HTTP Endpoint value when creating the API record.
Has anybody successfully setup a similar scenario? Thanks