Я должен начать с того, что у меня нет практических знаний SSL, и эта конкретная настройка кажется особенно сложной. У меня следующая ситуация: я запускаю 3 веб-сайта для клиента, копии каждого на 2 Linux-боксах. Клиент запускает аппаратный балансировщик нагрузки между своим брандмауэром и 2-мя боксами для распределения трафика между 2-мя боксами. В настоящее время все веб-сайты работают только по HTTP, у каждого сайта есть свой собственный IP-адрес на каждом боксе, и он доступен по публичному URL-адресу, например a.mysite.com, b.mysite.com и c.mysite.com
Клиент попросил меня переключить все на работу по протоколу HTTPS, а также попробовать настроить следующую конфигурацию: создать новый домен (под протоколом https)https://main.mysite.comсhttps://main.mysite.com/a/сопоставление с a.mysite.com,https://main.mysite.com/b/сопоставление с b.mysite.com и т.д.
Основная цель — перевести все 3 сайта на HTTPS. Объединение под одним доменом — это «приятно иметь». У клиента есть убеждение, что сертификаты — это дорого, не так ли?
Во-первых, я ничего не знаю о покупке сертификатов, настройке SSL и т. д., поэтому любые ссылки на руководство для начинающих по HTTPS были бы весьма признательны. Также было бы неплохо получить приблизительное представление о ценах на сертификаты.
Во-вторых, поскольку программное обеспечение веб-сервера требует перекомпиляции для работы под SSL, мне интересны решения, которые позволят мне не менять программное обеспечение веб-сервера. Будет ли это обратным прокси?
В-третьих, возможно ли вообще «объединение в рамках одного домена»?
В-четвертых, сколько SSL-сертификатов мне понадобится в этом случае?
ваше здоровье!
решение1
Сертификат SSL с несколькими доменами (UCC) дешевле, чем часто предлагаемый Wildcard SSL. Он работает только с 5 вариациями доменов вместо бесконечного числа, которое предлагает Wildcard, но его стоит рассмотреть, если ваши потребности просты.
В любом случае, единый сертификат SSL может удовлетворить ваши потребности. Различаются только цена и будущая гибкость.
решение2
Сертификаты могут быть настолько дорогими или дешевыми, насколько вы захотите. Скорее всего, вам нужен сертификат «wildcard», который позволит разрешить *.mysite.com. Сертификаты wildcard не будут такими дешевыми, как сертификаты для одного сайта, но со временем они станут дешевле многих сертификатов для одного сайта. Вы также можете получить несколько имен на одном сертификате, но это одноразовая вещь, тогда как сертификат wildcard разрешит любое имя в этом общем корневом домене.
Вы не говорите, какое серверное программное обеспечение вы используете. Если Apache, который я предполагаю из упоминания "перекомпиляции", и вы запускаете его на какой-то форме Unix, попробуйте эту команду:
httpd -t -D DUMP_MODULES | grep -i ssl
Если вы получите ответ, что SSL там есть, то он там есть.
Если это не так, то его можно будет загрузить динамически. Однако большинство дистрибутивов и систем пакетов, скорее всего, установят ssl по умолчанию. Просто это так распространено.
Я бы также проверил, насколько старо программное обеспечение вашего сервера. Я не хочу ничего менять, но я думаю, что вы будете счастливее без обратного прокси, который добавляется к обслуживанию этого сайта.
решение3
Я думаю, что вы могли бы удовлетворить эту потребность с помощью wildcard-сертификата (дорого):
- *.mysite.com
Или три сертификата (не такие дорогие):
- main.mysite.com
- a.mysite.com
- b.mysite.com
Вы также сможете создать правило перезаписи URL-адресов на основном сайте, чтобы направлять клиентов на правильный домен:
Такая конструкция не потребует внесения изменений в развертывание вашего сервера, а просто добавит сертификат на каждый сайт вместе с правилом перезаписи URL-адресов на вашем основном сайте.
И не забудьте добавить URL-адрес перенаправления для перенаправления с http на https: