Одна laravel установка, несколько доменов, шифрование SSL - PullRequest
0 голосов
/ 23 марта 2020

Я создаю приложение в Laravel, которое имеет одну кодовую базу, которая будет обслуживать несколько доменных имен, в CMS может быть добавлен новый домен, и все, что нужно сделать, чтобы этот новый домен работал, его записи направлены на сервер. Затем сама CMS отобразит соответствующие страницы для этого домена на основе request () -> getHost (); function.

Приложение управляется с помощью Laravel Forge.

Мой вопрос касается nginx и LetsEncrypt: Я бы хотел, чтобы все новые домены, добавленные таким образом, были защищены с помощью SSL, нужно ли каждый новый домен добавлять в forge вручную или есть какой-то способ разрешить использование TLD с подстановочным знаком в сертификате? (И если да, то это риск для безопасности?).

Потребуется ли nginx какая-либо конкретная c конфигурация для работы с TLD с подстановочными знаками?

Моя цель - избежать дополнительной настройки и имейте его автоматизированный c, с доменным именем, просто добавляемым к бэкэнду.

Спасибо!

1 Ответ

0 голосов
/ 24 марта 2020

Пожалуйста, следуйте инструкциям. Надеюсь, это будет работать для вас.

1 - Первый клон Letsencrypt / Certbot repo из Github

cd /opt
git clone https://github.com/certbot/certbot.git

2 - Теперь введите новый созданный каталог и запустите сертификат бота

cd certbot
./letsencrypt-auto certonly --manual --preferred-challenges=dns --email mymail@gmail.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.mywebsite.com

3 - Теперь Certbot запросит запись DNS, чтобы проверить, действительно ли у вас есть права в этом домене.

------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.mywebsite.com with the following value:

5GFgEqWd7AQrvHteRtfT5V-XXXXXXXXXXXXXX

Before continuing, verify the record is deployed.
------------------------------------------------------------------
Press Enter to Continue

4 - После добавления этой записи DNS TXT в свой домен и подождать несколько секунд нажмите Enter и продолжайте.

5 - Ваш сертификат готов!

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/mywebsite.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/mywebsite.com/privkey.pem
   Your cert will expire on 2018-08-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

6 - Теперь мы скопируем наши fullchain.pem и privkey.pem в нашу папку Nginx и добавим это в нашу Nginx конфигурацию сервера. Например;

server {
   listen 443 ssl;
   server_name test.mywebsite.com;
   ssl_certificate /etc/nginx/ssl/fullchain.pem;
   ssl_certificate_key /etc/nginx/ssl/privkey.pem;
   ssl_trusted_certificate /etc/nginx/ssl/fullchain.pem;
...

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...