На лету настраиваемые домены с использованием Rails + Nginx + Let's Encrypt - PullRequest
0 голосов
/ 21 марта 2020

У меня есть приложение Rails, которое поддерживает субдомены прямо сейчас. Пользователи могут иметь URL-адреса, такие как abc.myapp.com. SSL предоставляется с использованием сертификата Let's Encrypt Wildcard для *.myapp.com.

. Теперь приложение необходимо сопоставить с другим доменом в соответствии с предпочтениями пользователя. Например, пользователи должны иметь возможность сопоставлять abc.myapp.com с hello.otherapp.com с Let's Encrypt.

Вот несколько ссылок на то, о чем я говорю: https://support.freshdesk.com/support/solutions/articles/227540-can-i-use-a-vanity-url-custom-domain-for-my-customer-portal- https://help.canny.io/en/articles/1355038-setting-up-your-custom-domain

Мой стек: 1. Ruby на Rails 2. Nginx 3. Давайте зашифруем

1 Ответ

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

В целом у вас есть 3 шага:

  1. DNS для вашего домена должен иметь подстановочный знак, например: *.domain.com
  2. Вы должны иметь конфигурацию веб-сервера с использованием подстановочных знаков Например, используя Nginx:
    server_name *.domain.com;
    
    документацию: http://nginx.org/en/docs/http/server_names.html
  3. Ваше приложение Rails должно иметь черновик, расположенный как application_controller.rb с кодом, подобным

    User.find_by (subdomain: request.subdomain)
    

    и для чтения пути / маршрута вы должны использовать документацию constraints.

    : https://guides.rubyonrails.org/routing.html#request -предельные ограничения

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