Skip to main content

Setup Intercom help over HTTPS with a custom domain

 A year ago we setup a help center on hubspot which worked well but for some reason team decided to switch it over to Intercom. Everything was setup and we were only left with pointing subdomain to Intercom, I feel setting custom domain is very simple and explained clearly here (https://developers.intercom.com/installing-intercom/docs/set-up-your-custom-domain).

Pointing the custom domain to your intercom help page is pretty easy using a CNAME in your DNS record. The only thing which i found bit tricky is that by default it won’t work on https (that's not good).but this post will help you to get SSL with the help of AWS cloudFont.

Let's start
1. Login to your AWS account here( https://console.aws.amazon.com), you have to create in case you don't have.
2. Go to Cloudfront console (https://console.aws.amazon.com/cloudfront)
3. Click Create Distribution
4. Click **Get Started under Web**
5. Under Origin Settings > Origin Domain Name, enter Intercom host domain i.e. *custom.intercom.help*
6. Under Default Cache Behavior Settings > Viewer Protocol Policy , select **Redirect HTTP to HTTPS**
    Change **Cache and origin request settings** from
    *Use a cache policy and origin request policy*
     to
    *Use legacy cache settings*

    Change Cache Based on Select Headers to All

    Change Query String Forwarding and Caching to *Forward all, cache based on all* (to help with search)

7. It's time set up a certificate now. Click on **Request or Import a Certificate with ACM button** which will open a new tab to setup ACM.

8. Enter the domain name you’d like to use under add domain names. As we were using a subdomian, so we used help.dev.to, (You should have access to the DNS of this domain as you need to make some changes - like adding CNAME) If you have DNS access then you can do DNS validation, if not then email validation.


9. Click on Confirm and request
   After this, you will be able to see a record which you need to add as CNAME DNS records to your DNS system. Once dome click on verify and AWS will validate that.Once validated status will change to *In progress* to *Issued*

10. Coming back to Cloudfront console and select the **Custom SSL Certificate** which will show you custom SSL certificate that you just set up.select it.

11.Add your domain under Distribution Settings > Alternate Domain Names

12.Click on Create Distribution and wait for 10–15 minutes, On successfully creation, you will see statue as **Enabled** with a cloudfont url like **dxxxxxxxxxx.cloudfront.net**.copy this url as we need to setup this as CNAME

13.I am using DNSimple but adding cname is similar for all.


I am assuming that you have setup the custom domain before starting this but if not don't worry, it's much easier than setting up cloudfont.
Go to your Intercom Admin > Help Center and Settings. In the Custom help center domain enter the domain you choose i.e. help.dev.to
That's it. Now your domain (or subdomain) will be served over https

Comments

Popular posts from this blog

Sending Emails in Laravel with Gmail SMTP

This post will help you to fix issue like  Error : Swift_TransportException in StreamBuffer . php line 268 : Connection could not be established with host smtp . gmail . com [ Connection refused #111] Sending emails is crucial for any web application. Usually, an email is sent to notify the user of some kind of activity.Here are the steps to send email in laravel using Gmail SMTP. Generally Gmail is not recommended to send emails on live server, but if you just using it for testing purpose then follow these steps: 1. Visit   https://myaccount.google.com/security   make sure you have allowed  less secure app  to YES. 2. Unlock captcha on  https://accounts.google.com/b/0/DisplayUnlockCaptcha . 3. Generate APP password  Turn on 2-Step Verification for your account  https://myaccount.google.com/security. Your app might not support the latest security standards. Try changing a few settings to allow less secure apps access to your account. After enabling 2-Step V

Securing Your Emails: A Simple Guide to Email Authentication and Best Practices

Email security is crucial in today's digital landscape, and implementing authentication measures like DMARC, SPF, and DKIM can go a long way in safeguarding your domain. Here's an easy-to-follow guide to ensure your emails are authenticated and delivered securely: 1. Implement DMARC, SPF, and DKIM: Follow these steps for popular email services: Postmark Refer to the instructions provided in this link SendGrid Check the relevant information on their platform. Mailchimp Follow the recommended steps on their platform. 2. Validate Forward and Reverse DNS Records: Make sure your sending domains or IPs have valid forward and reverse DNS records (PTR records). Check resources for each service: Postmark Provides coverage for this aspect. SendGrid  Find the necessary information here Mailchimp Follow the guidelines specified by Mailchimp. 3. Maintain Low Spam Rates: Keep spam rates below 0.3% in Postmaster Tools and consider configuring Google Postmaster for additional insights into

NGROK for Laravel

Share Your Local PHP/Laravel  using Ngrok This post shows how to share your Laravel Framework Installation on Ubuntu but you can perform the same with other operating systems as well. What is Ngrok ngrok is a simplified API-first ingress-as-a-service that adds connectivity,security, and observability to your apps in one line.It allows you to create a tunnel very fast for free and Laravel has an internal webserver that can be used without configuration. Why Ngrok Ngrok allows developers to expose their locally hosted applications to the internet, which is useful for testing and debugging purposes. It eliminates the need to deploy the application to a remote server for testing, saving time and effort.Mostly Ngrok is used where we need to test webhook locally.Ngrok enables developers to receive these webhooks on their local machine, facilitating the development and testing of webhook-based functionality. How to use Ngrok Assuming you have Laravel installed correctly, you can follow