Does NginX(Open source, not Nginx plus), supports API Gateway? - api

Does NginX(Open source, not Nginx plus), supports API Gateway?
Please, help me get to the valid documentation or information. Thank you!

Unfortunately the Nginx Api Gateway is featured only in Nginx Plus. But there is Kong, an alternative that is built on top of Nginx and is also open source.
There is even a post on Nginx's official blog about it: https://www.nginx.com/blog/nginx-powers-kong-api-management-solution/
Edit: The blog post has been replaced by an nginx plus one. The original post can still be accessed through web.archive.org:
https://web.archive.org/web/20160413082936/https://www.nginx.com/blog/nginx-powers-kong-api-management-solution/

Related

Hosting Jekyll website with Amazon S3 + Cloudfront with private registrar (namecheap), issue with blog posts not showing up on blog page

Sorry for the wordy title.
Basically I created a jekyll website using Jekyll Now theme, it worked perfectly as as static site, here is the github version: fitnessregiment.github.io which is how I want the site to look. If you go to Blog you can see 1 blog post /essential-softwares-for-windows/.
Now the issue is that once I enabled cloudfront in order to enable HTTPS on my main domain: alexis-drakopoulos.com a few things went wrong, I managed to fix some but one of the main ones I cannot fix is the blog posts do not show up on the blog page. They do however exist as seen at https://alexis-drakopoulos.com/essential-softwares-for-windows/
So to explain how the site works:
Github repo: github.com/FitnessRegiment/fitnessregiment.github.io/
Then gets managed through forestry.io CMS which uploads straight to amazon S3.
Amazon S3 bucket endpoint: alexis-drakopoulos.com.s3-website.eu-west-2.amazonaws.com
Cloudfront URL: d2cmpfzgichbat.cloudfront.net (which as you can see does not show blog posts).
So I cannot figure out what could be going wrong, cloudfront not understanding the structure? I'm not sure.
Any help would be greatly appreciated.
It sounds like it's still serving an older version of the page. You need to trigger a CloudFront cache invalidation. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

AWS CloudFront to host SSL and forward on to sendgrid not working

I am trying to have links in my emails from my application register as SSL/HTTPS secure links. This helps deliverability and other things email clients may do treating links as http vs https.
Our application is using SendGrid to send emails, which also supports click tracking on our links for us. In order to do this SendGrid, and most other email sender services replace the original link we put in, which was an https://blahblah.com link with their own link, http://clicktrack.sendgrid.net or something that is not https, but rather http.
SendGrid supports "white labeling" the click tracking link with something like
http://subdomain.blahblah.com and also https version if we set it up properly. SendGrids requirements for https/ssl link are shown here
https://sendgrid.com/docs/Classroom/Build/Add_Content/content_delivery_networks.html
Basically they are asking us to setup a CDN or other server that will host our SSL certificates, terminate the SSL, and then forward the request on to their servers. Once that is in place they can "turn on" ssl on their end for our email links.
I tried setting this up in AWS CloudFront with the origin as sendgrid.net and the distribution having our SSL certificate and a route 53 CNAME pointing to our distribution. So the subdomain.blahblah.com points to distribution CDN, CDN points to sendgrid, and all should work.
Testing this though it does NOT work. If I go to the http version of subdomain it does work, CDN forwards properly. AWS support has suggested it was an issue related to host headers and the CDN not being able to validate the origin when I had a 2nd CNAME for the origin on my subdomain2.blahblah.com. That led me to remove 2nd cname and direclty put sendgrid as origin, but that hasn't worked and they haven't provided a solution yet. I get error like this..
ERROR
The request could not be satisfied.
CloudFront wasn't able to connect to the origin.
Generated by cloudfront (CloudFront)
Request ID: pl1bS3OObC6mUd2vyyhM6bNFt3xyLsfzVIqNmiPkEO7mQgJyQCn_pA==
Any ideas welcome or a different way to do this?
The issue was in behaviors I was forwarding all headers. Should NOT forward "Host" header in this situation or the origin ssl call will break as it wont match expected. AWS support did finally figure this out and recommend to me :)

GCM Connection Server - URL difference

I have a app server that uses https: //android.googleapis.com/gcm/send until now works correctly. The documentation indicated to use https: //gcm-http.googleapis.com/gcm/send. Should I change it? or is it the same?
thk, regards
Being update with google documentations is a strong recommendation, but as google did not deprecate the first url, you may use it.

Instagram realtime api https

I'm coding an app in PHP and I've had issues starting a tag subscription when I don't use HTTPS, I've tested both ways and would prefer to use HTTP if possible.
Has anyone else run into this and know of a solution?
Their documentation doesn't show the need for https. When I use HTTP I get the error
Unable to reach callback URL "http://...
My issue wasn't https vs http. It was my function that curls the post data. I rebuilt it and it works now.
A note for future people trying to use the Realtime API it returns zero data about the Instagram post which I find odd, why note include a post id at the very least. All it currently does is ping your server with data about your subscription effected. Its also worth noting to see that data you have to use this command in PHP
$igdata = file_get_contents("php://input");

Plesk 12 API additional-nginx per subscription

Is it possible to set the additional-nginx web-server-settings via Plesk API per Subscription?
As from the docs i only can see this changes can be made per ServicePlan.
The Subscription-User is able to modify the additional nginx parameters over the webinterface - (how) is it possible over the Plesk XML API?
As I see there is no physical-hosting-descriptor in API to set or change custom directives for Apache or Nginx