Knowledge Base
Set up a Custom Domain
When you set up your Knowledge Base, your content is available through an Acquire provided default URL. Your URL will look like this: https://55555.lml.io where 5555 represents your account number.
If you’d like to use a different URL, you can create one by setting up a custom domain. You can do so by:
Step 1. Entering your custom domain in the Knowledge Base Setup
Step 2. Creating a custom CNAME record
Step 3. Choosing to configure SSL
Enter your custom domain in Knowledge Base Setup
Enter the custom domain you want to use in Knowledge Base Setup under the “Custom Knowledge Base domain.”
Create a custom CNAME record
Go to your DNS provider’s website (i.e., GoDaddy or Cloudflare). If you’re choosing one for the first time, go with one that supports SSL.
Create a CNAME (‘canonical name’) record for your custom domain.
Point it at the Acquire host domain: youraccountnumberhere.lml.io
How to create a custom CNAME record with Cloudflare
These steps will vary, so check with your DNS provider for support.
For example, here’s how to set up a CNAME record with Cloudflare:
Set up Cloudflare as the resolver for your custom CNAME by changing your domain nameserver to Cloudflare.
Go to the ‘DNS’ section in Cloudflare and add a CNAME record for your Knowledge Base custom domain. Give it a name, like ‘help.’
Point it at the Acquire host domain: youraccountnumberhere.lml.io
To enable the CNAME record, click on the Cloud icon under the Status, so it turns orange.
Choose to configure SSL (optional)
After you set up a custom domain, your Knowledge Base will be hosted on your domain, but on HTTP rather than HTTPS. Your Knowledge Base will now appear as ‘not secure’ on web browsers like Chrome Here’s how to secure it.
SSL (or TLS), is the most widely used way to secure the connection between your server and your browser. It ensures the connection between the server and browser is encrypted and safe and appears as HTTPS.
There are two ways to set up SSL with Articles on your custom domain:
Use a flexible SSL (using a third-party DNS provider like Cloudflare or AWS CloudFront)
Use your SSL certificate (using a TLS Termination Proxy)
You can configure SSL for your custom domain to keep sensitive information encrypted. If you want to do this, make sure you’ve set up your CNAME with a DNS provider that supports SSL, like Cloudflare.
Important
DNS changes can sometimes take up to 72 hours to take effect but are typically much faster.
How to configure SSL with Cloudflare
Add SSL support to your domain
Go to the ‘Crypto’ section and change SSL to ‘Flexible’ or ‘Full.’
Don’t choose ‘Full (Strict)’ as this will result in an invalid SSL certificate.
Create a page rule enforcing HTTPS
Go to ‘Page Rules’ and create a new page rule with the following settings, replacing help.exampleapp.com with your custom domain.
Disable Cloudflare page speed features
Go to ‘Speed’ and disable Rocket Loader and Mirage for your Custom Knowledge Base Domain.
Both of these features result in Cloudflare attempting to add some javascript to your Knowledge Base. This may break functionality on your Knowledge Base due to security settings your Knowledge Base has enabled.
Ready to go!
Your custom domain is ready to go. Visitors to your Knowledge Base will see the green lock icon in their browser to let them know the site is secure.
How to configure SSL with AWS
Cookie Forwarding and Query String Forwarding
It is important that your Cloudfront distribution's behavior is set up to Forward Cookies and Query Strings or else critical features of the Knowledge base may not work.
Dropdown Name Changed
The "Forward Headers" drop-down has been replaced by: "Cache Based on Selected Request Headers" dropdown.
In the new dropdown selector, the item "All" indicates that no caching will occur and setting this will force CloudFront to pass the correct 'host' header value to [youraccountnumberhere].lml.io.
Using your SSL certificate with Apache or Nginx
The SSL certificate used by your Knowledge Base is a shared certificate signed by your DNS provider. It uses SNI (Server Name Indication) to secure your site.
If you wish to host your security certificates, you can do so through a TLS termination proxy. You’ll need to edit the configuration file on your proxy webserver.
Note: If you created a CNAME record that points to youraccountnumberhere.lml.io, you'd need to delete this to host your SSL certificate.
Here are the basic instructions to set up your SSL using Apache and Nginx webservers:
Copy
# Prerequisites: mod_ssl, mod_proxy and mod_proxy_http should be enabled
# Step 1: Acquire an SSL certificate and private key (i.e., LetsEncrypt.org)
# Step 2: Set up Apache proxy settings; we have included an example below.
# Step 3: Set the custom domain to Acquire Knowledge Base settings
# Step 4: Make sure your custom domain's DNS record resolves to your Apache server
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName your-help-site.custom-domain.com # specify your custom domain here. # Set SSL options for your own domain SSLEngine on SSLCertificateFile /path/to/your/fullchain.pem SSLCertificateKeyFile /path/to/your/privatekey.pem # Proxy SSL options SSLProxyEngine on SSLProxyVerifyDepth 10 SSLProxyCheckPeerCN off SSLProxyCheckPeerName off # Set up the reverse proxy to Acquire ProxyPreserveHost On ProxyPass / https://youraccountnumberhere.lml.io # replace this with your domain ProxyPassReverse / https://youraccountnumberhere.lml.io # replace this with your domain </VirtualHost> </IfModule>
Copy
# Prerequisites: ngx_http_ssl_module and ngx_http_proxy_module should be enabled
# Step 1: set up a normal server with HTTPS https://letsencrypt.org/
# Step 2: set up proxy settings as shown below
# Step 3: set custom domain in Acquire Knowledge Base Setup
# Step 4: make sure your DNS record is configured to IP of your Nginx server
resolver 8.8.8.8; # use own DNS server if you have one server { listen 443 ssl; server_name your-help-site.custom-domain.com; # replace this with your domain ssl_certificate /path/to/your/fullchain.pem; ssl_certificate_key /path/to/your/privatekey.pem; location / { # using "set" is important as IP addresses of Acquire servers # changes dynamically. "set" enables nginx to follow dynamic IPs set $Acquire "https://custom.Acquire.help:443"; proxy_set_header Host $host; proxy_pass $Acquire; } }
Note that you may also need to add a redirect from HTTP protocol (port 80) to HTTPS as part of your server configuration.
While most modern browsers support SNI, a few older ones don’t. If you’re supporting those browsers, you should use your SSL certificate instead. Check with your DNS provider to see if this option is available.
If you have any questions or need help, come to Live Chat or email us at support@acquire.io.