Для веб-приложения, расположенного по адресу:
https://www.domain.com/
С сертификатом SSL, выданным для www.domain.com,
Каковы правильные правила перезаписи, настройки DNS или их комбинация, из-за которых каждый из приведенных ниже URL-адресов перенаправляется на https://www.domain.com/
:
1. http://www.domain.com
2. http://domain.com
3. https://domain.com
Сложность действительно с №3. https://domain.com
имеет тенденцию вызывать сообщения безопасности браузера. Как это делают основные HTTPS-сайты? Возьмем, к примеру, Paypal.com.
Последующие действия Джеймса Ответ:
RewriteCond %{HTTP_HOST} !^www.domain.com$ [OR]
RewriteCond %{HTTP_PORT} !^443$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Это все еще не исправляет №3, для этого вам понадобится подстановочный знак или сертификат UCC.
Я думаю, что самый простой вариант - использовать mod_rewrite в файле htaccess или прямо в вашем httpd.conf. Вот что я использую для пересылки первых двух, которые вам нужны:
RewriteCond %{SERVER_PORT} 80
ReWriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
Итак, вперед https://domain.com к https://www.domain.com, вы могли бы сделать:
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]
Я уверен, что есть способ объединить эти два набора правил, если вы хотите попробовать. На данный момент нет моего сервера Apache, чтобы проверить его.
В качестве дополнительной помощи по пункту 3 и, возможно, также 2, как насчет использования Индикация имени сервера использовать два сертификата на одном хосте. (например, www.domain.com и domain.com) Вики-сайт Apache есть некоторая информация о специфике.
- Кристофер Карел
Сертификат на https://www.domain.com не будет работать для https://domain.com.
Есть много из учебные пособия.