Впоследствии сгенерированный вами сертификат придется заменить сертификатом, который предоставит вам сертифицирующая организация. Если при использовании сертификата, созданного самостоятельно, пользователь, обратившийся к Web-узлу, увидит предупреждающее сообщение, то при наличии сертификата, выданного CA, такое сообщение не выводится. Предупреждающее сообщение, отображаемое броузером Opera в системе Linux, показано на рис. 20.2. В других броузерах формат сообщения будет отличаться от приведенного на рисунке.
Рис. 20.2
. При использовании сертификата, сгенерированного самостоятельно, пользователи, взаимодействующие с узлом, увидят предупреждающее сообщение о том, что сертификат не распознан или срок его действия истекУстановка компонентов Apache, предназначенных для поддержки SSL
Считается, что поддержка SSL в сервере Apache осуществляется за счет дополнительных модулей. На практике для установки SSL-модулей необходимо внести некоторые изменения в структуру сервера и повторно скомпилировать Apache. В некоторых инсталляционных пакетах SSL-модули включены по умолчанию, и код сервера скомпилирован с учетом использования SSL-компонентов. Если вы попытаетесь объединить компоненты обычного сервера Apache и пакета, сформированного для обеспечения поддержки SSL, такой сервер скорее всего работать не будет.
Во многих случаях для управления сервером, созданным с учетом поддержки SSL, используется конфигурационный файл, отличный от файла, применяемого для настройки обычного сервера Apache. Например, в системе Debian сервер Apache, настроенный для поддержки SSL, использует конфигурационный файл /etc/apache-ssl
/etc/apache. Конфигурационные файлы для SSL-серверов во многом совпадают с файлами для Apache без поддержки SSL, за исключением некоторых директив, значения которых вам, возможно, придется изменить. Часть этих директив описана ниже.• ServerType
ServerType должно быть установлено значение standalone.• Использование портов
. Для взаимодействия по протоколу SSL используется порт 443. При этом необходимо учитывать, что директиваListen позволяет связать сервер с определенным номером порта.• Загрузка модулей
. В качестве значений директивLoadModule и AddModule могут быть указаны один или несколько модулей, имеющих отношение к поддержке SSL. Как правило, в конфигурационном файле, сформированном по умолчанию, значения этих директив установлены корректно.• SSLRequireSSL
, вы запретите доступ к каталогу для клиентов, не поддерживающих SSL. (Значения данной директивы не указываются.) Использование SSLRequireSSL позволяет предотвратить передачу важных данных по незащищенному каналу. Очевидно, что, помимо данной опции, следует применять и другие средства, ограничивающие доступ к каталогу.• SSLEnable
SSLEnable разрешает использование протокола SSL при обмене данными. Подобно SSLRequireSSL, значения для данной директивы не предусмотрены.• SSLCACertificatePath
SSLCACertificatePath может быть указано /etc/apache-ssl.• SSLCertificateFile
/etc/apache-SSI/apache.pem).Помимо указанных выше, для управления SSL-взаимодействием могут использоваться и другие директивы. Информацию о них можно получить, просмотрев комментарии в составе конфигурационного файла либо обратившись к документации на сервер Apache или к книгам по данной теме.
Установив конфигурацию сервера, вы можете запускать его для поддержки SSL-взаимодействия. Чтобы обратиться к серверу, надо ввести в поле адреса броузера URL, начинающийся символами https://