Назад | Перейти на главную страницу

Правила перезаписи Apache и настройки DNS для сайтов HTTPS

Для веб-приложения, расположенного по адресу:

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.

Есть много из учебные пособия.