Добавьте конфигурационный файл Nginx и сгенерируйте давайте зашифровать с помощью php - PullRequest
1 голос
/ 28 июня 2019

Я предлагаю своим клиентам услугу создания веб-сайта, где клиенты также могут использовать свое собственное доменное имя.На моем сервере я использую Nginx с сертификатами Let's Encrypt.

Есть ли способ создать новый файл конфигурации сайта Nginx с использованием php или что-то еще?Кроме того, возможно ли установить зашифрованный сертификат на новый добавленный файл?

Я надеюсь, что это возможно, потому что я хочу, чтобы процесс сопоставления доменов был автоматическим.У меня уже есть то, что мне нужно, кроме Nginx и Let's Encrypt.

Если кто-то меня не понимает, вот пример:

  1. Кто-то заполняет мойформа из его / ее аккаунта.(У меня уже есть форма)
  2. Мой (php) код создает новый конфигурационный файл Nginx с его / ее доменом.
  3. Мой (php) код генерирует и устанавливает новый Let'sЗашифруйте сертификат в новой конфигурации.
  4. Наконец, код (php) включает настройку Nginx.(С символической ссылкой с сайтов, доступных на сайты с поддержкой)

Если у кого-то есть какие-то коды или советы для меня, я ценю ваш ответ / ответ.

1 Ответ

0 голосов
/ 29 июня 2019

С точки зрения безопасности, вы не должны делать такие вещи из внешнего интерфейса. Это может вызвать много проблем, и для этого вам нужны более высокие привилегии. Если у вас есть структура Failover, вы должны сделать это на всех узлах, что немного сложно.

Так что, возможно, вы можете автоматизировать это с Ansible. Для Ansible у вас много модулей. Одним из них является модуль Certbot для Let's Encrypt.

https://github.com/geerlingguy/ansible-role-certbot

В вашем случае вы можете создать файл со всеми нужными вам доменами, с информацией каталога, и вы можете запустить свою роль Ansible, и все будет добавлено для вас и перезагрузки вашего сервера.

https://github.com/geerlingguy/ansible-role-nginx

...