Porter secures all Web services with SSL certificates issued by Let’s Encrypt. Porter will automatically handle the issuance and renewal of your certificates.
Porter generates placeholder domains for all Web services. These placeholder domains follow the format of
*.onporter.run. While these domains can be used in production, we highly recommend attaching a custom domain to your production web services.
Setting up a custom domain involves two steps: setting up a DNS record to point to that domain, and then configuring your Web service to listen on that custom domain:
You must first find the DNS name assigned to the load balancer of your cluster. This can be found under the Networking tab of your Web Service:
The DNS records that need to be created for your Web service vary slightly depending on the cloud provider and the DNS provider you are using.
Google Cloud and Azure
On Google Cloud and Azure, the load balancer that sits in front of your infrastructure has a static IP address.
Therefore, you simply have to create an
A record in your DNS provider that points to that static IP address.
On AWS, the load balancer will have an Elastic IP address instead of a static one. This means that it is not possible to create an
A record that points to that address (this is due to requirements of
Instead, you need to create a
CNAME record that points at the Elastic IP address. For subdomains (e.g. domains that follow the format of
*.porter.run), this is straightforward. For apex domains (e.g.
CNAME records are not allowed.
Below are steps to configure custom domains on both apex domains and subdomains.
Because AWS creates a load balancer that is assigned a domain name, rather than an IP address, you must use a DNS provider which allows for
ALIAS records, since
CNAME records are not supported for apex domains. Create an
ALIAS record for your root domain which points to the load balancer address that you copied above.
If you’ve purchased your domain through a service like GoDaddy or Namecheap that does not support
ALIAS records, we recommend that you switch your service to Route 53. Please follow this guide to manage your existing domains with Route 53, and then see the instructions below for Route 53 setup.
When creating a new record, leave the Record name empty and select the Alias to Network Load Balancer option. After you choose the region your EKS cluster is provisioned in, you will be able to select the DNS name of the load balancer that was displayed from the Porter dashboard. Set Record type as A record and create the record.
Once DNS has propagated, you can now deploy your application using the custom domain!
Once the DNS record changes have been propagated, you will be able to attach the custom domain to your application. Click on Add Custom Domain, input the custom domain you have just pointed to the load balancer, then hit deploy.
In a few minutes, you will be able to view the application on the custom domain, secured with an SSL certificate.