Я хочу поддерживать SSL для клиентов, у которых отсутствует поддержка SNI (IE / FF / Safari на win XP, Android <2.2 и другие).
Решение, которое я выбрал, заключалось в том, чтобы nginx прослушивал отдельный порт для каждого сертификата.
Вопрос: есть ли другой способ решить эту проблему, или я все делал правильно?
Это один из способов ее решения, но если он хороший, можно обсудить. Многие ограниченные сети могут получить доступ только к портам 80 и 443, что делает невозможным доступ этих пользователей к вашему контенту.
Чтобы решить эту проблему, нужно иметь несколько IP-адресов и по одному сертификату на каждый.
Другим решением было бы использовать сертификат UCC SSL. Я не знаю, сколько доменов вы хотите защитить, и часто ли вы вносите в них изменения, но Comodo предлагает те.
Это в основном правильно, если вы ограничены одним IP-адресом.
Если вы можете использовать несколько IP-адресов, было бы лучше привязать к стандартному порту HTTPS на каждом IP-адресе. В этом случае адресная строка браузера будет выглядеть менее странной для обычного пользователя, если это вызывает беспокойство.