Search code examples
wordpressamazon-web-servicesaws-api-gatewaycname

Is it possible to deploy a HTTP site to API gateway to make it HTTPS?


I'm new to API gateway,

I have a simple wordpress site at http://myexamplewordpress.tech

I want to point this URL to my API gateway invoke URL

and then assign a cname to API gateway invoke URL

So users can access my site using the cname myexamplewordpress.tech which would be HTTPS since its an API gateway invoke URL essentially..

Is this something that is possible ? please help me out

Clarification

I already have a domain name in .tech which is not supported in route 53 from 3rd party.. say my current site is http://myexamplewordpress.tech i want this to point to API gateway URL and assign a cname to api gateway URL which i will do from my 3rd party so my final URL should look like https://myexamplewordpress.tech i want to make it HTTPS thats what i am after in the long run

Question

Can i make my site HTTPS using API gateway only ?


Solution

  • Yes, you can make your wordpress domain HTTPS-capable using API Gateway. You could use the new HTTP API feature for this [1] in conjunction with HTTP integrations [2] and greedy paths. However, you will also need AWS Certificate Manager (ACM) to create an SSL certificate for your custom domain name. [3]

    Alternative

    Furthermore, I would suggest to take into account AWS CloudFront as an alternative solution. I think it fits your usecase better. It supports SSL using ACM and moreover distributes your content over the continent, providing lower latency to readers. AWS provided a blog post which outlines a CloudFront solution specifically for Wordpress. [4] It slightly differs from your scenario by hosting the wordpress blog on EC2 instances within a VPC (behind an ELB). However, you could use the exact same CloudFront distribution settings with a modified origin which points at your external wordpress server instead at an S3 bucket with static assets and an ELB for dynamic content. Take a look at the blog post. It might save you some time if you want to configure things quickly.

    References

    [1] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html
    [2] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-http.html
    [3] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-custom-domain-names.html
    [4] https://aws.amazon.com/de/blogs/startups/how-to-accelerate-your-wordpress-site-with-amazon-cloudfront/