Мое приложение обслуживается https://beta.myapp.com
(Я везде использую https) и теперь хочу перейти на https://www.myapp.com
.
Мне интересно, как правильно перенаправить каждый beta.
просьба к www.
.
В данный момент www
указывает на то же приложение, а затем оно перенаправляется на beta
(вы получите ошибку SSL, если попытаетесь получить доступ https://www
хотя).
Что я считаю выполнимым:
www
сертификат в основном приложении и создание другого приложения (с beta
сертификат) взимается за перенаправление каждого запроса в другое приложение. (например. https://beta.myapp.com/about
к https://www.myapp.com/about
). Но мое приложение размещено на Heroku, и мне нужно платить 20 долларов в месяц за сертификат, поэтому еще одно приложение означает больше расходов.www
и beta
. Но у меня уже есть 2 сертификата, поэтому я не очень хочу покупать еще один.Есть ли другой / лучший способ сделать это?
Это немного сложно, и у вас не так много вариантов.
Вы можете обработать перенаправление внутри приложения, указав бета / www (и корневой домен) на основное приложение Heroku. Однако, чтобы избежать ошибок SSL, вам необходимо установить сертификат, который охватывает имена хостов www и бета-версии.
Поскольку Heroku не предлагает вам возможность связать два сертификата в одном приложении, в этом случае вам потребуется приобрести сертификат с подстановочным знаком.
Другое решение - указать beta
на другой сервер. Установите сертификат на этот сервер и перенаправьте трафик в основное приложение. К сожалению, вам по-прежнему необходимо установить сертификат здесь, потому что согласование SSL происходит до отправки заголовка перенаправления HTTP, поэтому, если вы не установите его, ваши посетители увидят ошибку сертификата (или предупреждение) перед перенаправлением. В зависимости от браузера в этом случае перенаправление может произойти, а может и не произойти.
Оба решения, вероятно, потребуют дополнительных экономических усилий с вашей стороны, в основном из-за ограниченной гибкости Heroku в этом случае. Один требует покупки подстановочного сертификата, другой - покупки новой конечной точки SSL для другого приложения (если вы не найдете способ разместить его где-нибудь на дешевом сервере).
Я понимаю, что вы, возможно, недавно приобрели сертификат для основного сайта. Имейте в виду, что большинство поставщиков сертификатов SSL предлагают возмещение в течение 30 дней, вы можете проверить, сможете ли вы получить возмещение и приобрести подстановочный знак.
Если бы мне пришлось сделать выбор, я бы, вероятно, выбрал подстановочный знак.
Я сделал это перед использованием CNAME, как предложил Ник. Другой способ (возможно, не практичный для вас) - использовать сертификаты с подстановочными знаками.
Последний вариант, если вы знаете свои альтернативные имена, - это указать SAN (альтернативные имена субъектов) в вашем сертификате, которые содержат все имена ваших хостов.