На моем локальном компьютере Mac у меня есть следующий фрагмент apache conf:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    Redirect permanent / https://www.example.com
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName example.com
        ServerAlias www.example.com

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/my_example.cert
        SSLCertificateKeyFile /etc/apache2/ssl/my_example.key
    </VirtualHost>
</IfModule>

Когда я открываю https://example.com в Chrome или Safari, нет проблем. Однако, если я открою https://www.example.com Chrome, я получу:

NET::ERR_CERT_COMMON_NAME_INVALID

Subject: example.com
Issuer: example.com

В Safari я просто получаю общее сообщение «не удается подключиться к серверу». Я забыл команду из головы, но вы можете проверить значения файла .cert. Для общего имени это выводит example.com . Это проблема? Это значение должно быть подстановочным знаком? И если да, то как ввести подстановочный знак при появлении запроса на создание сертификата?

Кроме того, каким должно быть значение постоянного перенаправления? Имеет ли значение, если это https://example.com или https://www.example.com?

1 ответ1

0

Если вы хотите перенаправить с https на одном домене на https на другом, вам нужен либо групповой сертификат, либо два отдельных сертификата.

Обычные сертификаты совпадают, только если имя хоста точно такое же. Подстановочные сертификаты будут соответствовать домену без субдомена или домену с любым субдоменом. Субдомены (например, https://sub.sub.example.com), однако, не будут совпадать в большинстве браузеров (стандарты были неоднозначны в этом случае до недавнего времени).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .