--- title: "Custom Domain" slug: "custom-domain" updated: 2024-11-12T11:28:46Z published: 2024-11-12T11:28:46Z canonical: "learn.servitly.com/custom-domain" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.servitly.com/llms.txt > Use this file to discover all available pages before exploring further. # Custom Domain By default, the DPS application is reachable to the subdomain of *.servitly.com, for instance *acme.servitly.com*, but in addition you can use your own domain (e.g. under the OEM public domain), for instance: - cooking-as-a-service.cloud - *www.cooking-as-a-service.cloud* - *bake365.acme.com* ## Configuring a custom domain To configure a custom domain, you must: 1. Purchase a domain name from your domain registrar. 2. Configure your DNS according to the *DNS Records Configuration* paragraph. 3. Within the Servitly Console, enter the Access and Security / Domain page. 4. Add the domain aliases, for instance *bake365.acme.com*. You will be able to register multiple domain aliases for the same DPS portal. A domain alias can be registered to only one DPS portal at a time. 5. Configure the SSL Certificate Management required to access the application securely (HTTPS). 6. Save and wait for DNS propagation, if needed. ![](https://cdn.document360.io/6759e9c9-3ce3-49df-965a-7231d2d9a10a/Images/Documentation/image(275).png) ### Import your SSL certificate You must provide the SSL certificate associated with the registered domain aliases. The Console will validate that the provided certificate is not expired and matches the added domain aliases. The provided SSL files must be in the **.pem* format. Remember to register the right records in your DNS management page. ### Free certificate Let's Encrypt is a certificate authority that offers free SSL certificates that you can use for your custom domain name. By using Let's Encrypt, certificate are automatically generated and renewed by the DPS application through the [ACME](https://letsencrypt.org/2019/10/09/onboarding-your-customers-with-lets-encrypt-and-acme.html) protocol of Let's Encrypt. Remember to register the right records in your DNS management page. ### External Proxy You must configure and keep updated and external proxy, for instance an [Apache Virtual Host](https://httpd.apache.org/docs/2.4/vhosts/). Here is an example of an Apache Virtual Host configuration that you can use as a starting point for your own. ```apache ServerName DOMAIN_ALIAS ProxyPass ws://ENVIRONMENT_DOMAIN/ws/ Header add Connection Upgrade RequestHeader add Connection Upgrade Header add Upgrade websocket RequestHeader add Upgrade websocket ProxyPass / https://ENVIRONMENT_DOMAIN/ retry=1 ProxyPassReverse / https://ENVIRONMENT_DOMAIN/ SSLEngine on SSLProxyEngine On SSLCertificateFile "/etc/ssl/certs/customerCertificate.crt" SSLCertificateKeyFile "/etc/ssl/certs/customerCertificate.key" ``` Where placeholders are: - **DOMAIN_ALIAS**: your custom domain alias (e.g. devices.acme.com). - **ENVIRONMENT_DOMAIN**: the Servitly domain where the environment is reachable (e.g. acme.servitly.com) Remember to register the right records in your DNS management page. ## DNS Records Configuration According to the type of registered domain, you must add different records to your DNS: - Second-level (e.g. cooking-as-a-service.cloud) An **A** record should be added and pointed to the DPS server public IPs. For the list of public IP addresses, you can refer to the [Architecture Overview](/docs/dps-architecture#dns-and-api-gateway) page. - Third-level (e.g. www.cooking-as-a-service.cloud) A **CNAME** record should be added and mapped to the default public domain (acme.servitly.com). Note that www.cooking-as-a-service.cloud is a third-level domain and therefore different from cooking-as-a-service.cloud. When updating a CNAME, pay attention to the presence of a cache time out. Any changes to DNS may take some time before they become public. From the command line, it is possible to check whether the pointing was performed correctly ```bash // Linux dig cooking-as-a-service.cloud // Windows nslookup cooking-as-a-service.cloud ``` ## Partner with custom domain and alias You can associate a partner to a custom domain, with a custom appearance (images, labels, CSS). Partner and related customers' users must use the custom domain to access the DPS application. On each custom domain (different from default), you can specify the alias (e.g. bake.acme.com), and associate it with one or more partners. ![](https://cdn.document360.io/6759e9c9-3ce3-49df-965a-7231d2d9a10a/Images/Documentation/image(276).png) ## Custom appearance by Domain For each custom domain you can redefine the appearance in terms of images, labels, messages and CSS. For instance, by entering the Images page, you can select and lock a custom domain and change images. ![](https://cdn.document360.io/6759e9c9-3ce3-49df-965a-7231d2d9a10a/Images/Documentation/image(277).png) The domain locker is available for the following pages: - Appearance - *CSS* - *Images* - *Messages* - *Labels* - Integrations - *Plugins* Within the Plugins page, for locked domain you can redefine, the Push notifications plugins. ![](https://cdn.document360.io/6759e9c9-3ce3-49df-965a-7231d2d9a10a/Images/Documentation/image(278).png)