# Multiple Servers One Domain Wordpress

**URL:** <https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655>\
**Category:** Help\
**Created:** [January 29, 2017, 2:54pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655 "2017-01-29T14:54:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 29, 2017, 2:54pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/1 "2017-01-29T14:54:51Z")

</div>

I have asked this particular question multiple times and get varied answers from VPS providers, Control panel Vendors etc., I would love to get the definitive answer from the LetsEncrypt community.

I have multiple servers serving the same Wordpress websites in different worldwide geographic regions. The websites are served to the clients from the nearest server dependent on their geographic location. It works very well and loading speeds are very fast as a result. Is it possible to have LetsEncrypt certificates installed on each server for each domain without creating conflicts?

Any guidance appreciated.

---

<div class="post-metadata">

**Author:** ![Osiris](https://avatars.discourse-cdn.com/v4/letter/o/839c29/32.png) [@Osiris](https://community.letsencrypt.org/u/Osiris)\
**Post date:** [January 29, 2017, 3:06pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/2 "2017-01-29T15:06:50Z")

</div>

What kind of conflicts are you referring to?

One of the issues you need to tackle is the authorization challenge, as it’s not know which server will serve the request coming from Let’s Encrypt if you want to use the http-01 or tls-sni-01 challenge. Therefore, only the DNS challenge will be useful in this use case I recon.

Do you want a certificate for every server? Or distribute one single cert among the servers?

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 29, 2017, 3:27pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/3 "2017-01-29T15:27:25Z")

</div>

Thanks for your reply.

I believe the conflict exists as different certs on different servers will fail as each cert was created independently and so as each cert is challenged it will invariably fail. I honestly don’t know which is the best way to go. I don’t necessarily need a different cert on each server and one cert for all servers would be great.

I don’t mind creating multiple certs or distributing one cert among all servers. The most efficient solution for me is to get it working and avoid any potential mishaps by doing the wrong thing at the beginning.

My alternative if I wasn’t to use LetsEncrypt would be to purchase certs for each domain at $60 each, I would prefer not to go down that route just yet.

---

<div class="post-metadata">

**Author:** ![Osiris](https://avatars.discourse-cdn.com/v4/letter/o/839c29/32.png) [@Osiris](https://community.letsencrypt.org/u/Osiris)\
**Post date:** [January 29, 2017, 4:16pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/4 "2017-01-29T16:16:35Z")

</div>

> [@Eddevs](#):
>
> for each domain

You only had one domain I thought?

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 29, 2017, 5:55pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/5 "2017-01-29T17:55:22Z")

</div>

> [@Eddevs](#):
>
> I have multiple servers serving the same Wordpress websites

I have at least 10 domains per server and intend on adding another 40. Each domain has its own website duplicated on each server.

---

<div class="post-metadata">

**Author:** ![Osiris](https://avatars.discourse-cdn.com/v4/letter/o/839c29/32.png) [@Osiris](https://community.letsencrypt.org/u/Osiris)\
**Post date:** [January 29, 2017, 7:19pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/6 "2017-01-29T19:19:41Z")

</div>

Ah, because your title of the threads mentions “(…) One Domain (…)”, so I was confused…

---

<div class="post-metadata">

**Author:** ![motoko](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/motoko/32/26328_2.png) [@motoko](https://community.letsencrypt.org/u/motoko)\
**Post date:** [January 29, 2017, 7:44pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/7 "2017-01-29T19:44:03Z")

</div>

Based on your post, if you have a way to securely distribute the private key and the certificate, using DNS auth and distributing the certificate across the servers would probably be the best option for your needs. This, of course, assumes you can automate the challenge in some way.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 29, 2017, 7:49pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/8 "2017-01-29T19:49:07Z")

</div>

Thats the thing, I don’t have a method to do this or the knowledge yet to set up the best way to automate the process. I’m all ears and am open to suggestions of how to accomplish this and eager to learn if anyone else has successfully done this.

---

<div class="post-metadata">

**Author:** ![motoko](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/motoko/32/26328_2.png) [@motoko](https://community.letsencrypt.org/u/motoko)\
**Post date:** [January 29, 2017, 8:02pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/9 "2017-01-29T20:02:57Z")

</div>

It depends on how your DNS is set up. Many providers offer an API for changes to be done. You can check with your provider to see if such a feature is available. You’ll need to just set a TXT record to a specified value provided by the Let’s Encrypt servers.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 30, 2017, 8:59am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/10 "2017-01-30T08:59:17Z")

</div>

That shouldn’t be a problem as I use an external DNS like Constellix or EdgeDirector. Can anyone give an example of what the setup procedure would be regards the DNS Zone/Records.

---

<div class="post-metadata">

**Author:** ![serverco](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/serverco/32/4251_2.png) [@serverco](https://community.letsencrypt.org/u/serverco)\
**Post date:** [January 30, 2017, 9:09am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/11 "2017-01-30T09:09:07Z")

</div>

The “LE client” that you use (the officlal client is certbot, or there are various alterntives ) will communicate with Let’s Encrypt and obtain a token which is to be added to your DNS records. It will provide this token to you (either printed to the screen, or more commonly as a variable you can use in a script).

You need to add this token as a TXT record in \_acme-challenge.yourdomain.com

Adding the token can easily be done using a script if you have a good API to your DNS records.

You then ask Let’s Encrypt to verify the token is there ( the “LE client” will do that) and if it’s correct it will provide you with a certificate.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 30, 2017, 9:23am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/12 "2017-01-30T09:23:31Z")

</div>

So one cert issued form LetsEncrypt and one TXT record in the DNS Zone for that domain would be sufficient to cover that domain on all servers?  
As it would be irrelevant which location the website is accessed from because the TXT record for that domain will always be available to verify with LetsEncrypt? Is this correct?

---

<div class="post-metadata">

**Author:** ![serverco](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/serverco/32/4251_2.png) [@serverco](https://community.letsencrypt.org/u/serverco)\
**Post date:** [January 30, 2017, 9:25am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/13 "2017-01-30T09:25:29Z")

</div>

Correct. That’s the way I do it ( although not wordpress, but that’s irrelevant ). I obtain one cert (via script) and that same script copies it to all the servers it needs to go on, and reloads the services there. All done in a matter of seconds, automatically.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 30, 2017, 9:30am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/14 "2017-01-30T09:30:39Z")

</div>

Genius!! After a year of trying I finally got my answer. !! What script would you recommend or can you point me to a resource?

---

<div class="post-metadata">

**Author:** ![serverco](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/serverco/32/4251_2.png) [@serverco](https://community.letsencrypt.org/u/serverco)\
**Post date:** [January 30, 2017, 9:34am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/15 "2017-01-30T09:34:10Z")

</div>

I’m biased, as I wrote my own - [GetSSL](https://github.com/srvrco/getssl) which is a simple bash script because at the time certbot didn’t have the capability (early 2016).

Certbot now does support the DNS challenge and has a scripting option, so should be able to do it perfectly and automate the process.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 30, 2017, 9:42am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/16 "2017-01-30T09:42:28Z")

</div>

Thank You. Really well documented as well.

---

<div class="post-metadata">

**Author:** ![serverco](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/serverco/32/4251_2.png) [@serverco](https://community.letsencrypt.org/u/serverco)\
**Post date:** [January 30, 2017, 9:43am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/17 "2017-01-30T09:43:00Z")

</div>

You’re Welcome 🙂 Thanks 🙂 - there is also an example of the DNS challenge in the wiki - [https://github.com/srvrco/getssl/wiki/DNS-Challenge-example](https://github.com/srvrco/getssl/wiki/DNS-Challenge-example)

---

<div class="post-metadata">

**Author:** ![Osiris](https://avatars.discourse-cdn.com/v4/letter/o/839c29/32.png) [@Osiris](https://community.letsencrypt.org/u/Osiris)\
**Post date:** [January 30, 2017, 7:02pm UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/18 "2017-01-30T19:02:21Z")

</div>

Not to bypass @serverco here, as he deserves much credit for his client, but you might also be interested in [acme.sh](https://github.com/Neilpang/acme.sh), another bash client [in the list of clients](https://letsencrypt.org/docs/client-options/), of which I know it has many, [MANY](https://github.com/Neilpang/acme.sh#8-automatic-dns-api-integration) (currently 14) DNS API integrations built-in.

---

<div class="post-metadata">

**Author:** ![Eddevs](https://avatars.discourse-cdn.com/v4/letter/e/43a26b/32.png) [@Eddevs](https://community.letsencrypt.org/u/Eddevs)\
**Post date:** [January 31, 2017, 9:21am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/19 "2017-01-31T09:21:32Z")

</div>

Thanks for that. Also really good and very well documented.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/letsencrypt/original/3X/c/a/ca6c06ea1ea201324bba7048c6841ce60236468d.png) [@system](https://community.letsencrypt.org/u/system)\
**Post date:** [March 2, 2017, 9:35am UTC](https://community.letsencrypt.org/t/multiple-servers-one-domain-wordpress/26655/20 "2017-03-02T09:35:12Z")

</div>

Closed on March 2, 2017, 9:35am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
