У меня есть приложение Rails, которое поддерживает субдомены прямо сейчас. Пользователи могут иметь URL-адреса, такие как abc.myapp.com. SSL предоставляется с использованием сертификата Let's Encrypt Wildcard для *.myapp.com.
abc.myapp.com
*.myapp.com
. Теперь приложение необходимо сопоставить с другим доменом в соответствии с предпочтениями пользователя. Например, пользователи должны иметь возможность сопоставлять abc.myapp.com с hello.otherapp.com с Let's Encrypt.
hello.otherapp.com
Вот несколько ссылок на то, о чем я говорю: 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. Давайте зашифруем
В целом у вас есть 3 шага:
*.domain.com
server_name *.domain.com;
Ваше приложение Rails должно иметь черновик, расположенный как application_controller.rb с кодом, подобным
application_controller.rb
User.find_by (subdomain: request.subdomain)
и для чтения пути / маршрута вы должны использовать документацию constraints.
constraints
: https://guides.rubyonrails.org/routing.html#request -предельные ограничения