Мы делаем это с одним из наших приложений (которое обеспечивает электронную торговлю). У большинства клиентов есть только учетная запись поддомена. Для них у нас есть подстановочный знак.
Некоторые клиенты имеют, как вы упомянули, пользовательские домены. Для них мы требуем, чтобы они приобрели сертификат (мы рекомендуем GoDaddy, потому что они самые дешевые) для своего домена. Затем мы предоставляем новый IP-адрес и соответствующим образом настраиваем nginx.
Вам также необходимо убедиться, что они указывают свой домен через A RECORD, а не CNAME (в противном случае он не попадет в правый IP-адрес).
Мы принимаем приложение на EngineYard, чтобы они помогали совсем немного.
Но, если вы планируете иметь сотни или тысячи пользователей с пользовательскими доменами, это может стать проблемой. Возможно, вам захочется изучить гибридную конфигурацию какого-либо типа, где страницы без SSL будут обслуживаться через пользовательский домен, но использовать общий домен приложения (с субдоменом) для файлов SSL. Как:
http://customdomain.com и http://customdomain.com/contact
, а затем
https://client.generic.com/purchase