ОБНОВЛЯТЬ

ОБНОВЛЯТЬ

Я пытаюсь узнать, как настроить SSL с Apache 2.0 на Windows с mod_ssl. Я убедился, что файл mod_ssl.so находится в каталоге модуля, а файл конфигурации включен в каталог conf (httpd-ssl.conf), включил модуль, раскомментировав опцию LoadModule для mod_ssl.so.

Я создал самоподписанный сертификат и поместил файл crt и файл ключа в каталог conf.

Информация в моем файле конфигурации SSL выглядит следующим образом:

<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
ServerName localhost:443
ServerAlias localhost:443
SSLEngine on
SSLEnable
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCertificate "D:/Dev-Ops/apache/Apache2/conf/server.key"
</VirtualHost>

Я уверен, что я делаю что-то не так (я новичок в Apache и всех этих вещах). В настоящее время я получаю сообщение об ошибке:

Синтаксическая ошибка в строке 8 файла D:/Dev-Ops/apache/Apache2/conf/httpd-ssl.conf: Недопустимая команда «SSLEnable», возможно, неправильно написана или определена модулем, не включенным в конфигурацию сервера.

У меня есть вопросы:

  1. Должен ли я установить OpenSSL (он у меня уже установлен) на моем компьютере, чтобы mod_ssl работал? Если да, то нужно ли что-то настроить, чтобы они оба взаимодействовали друг с другом?

  2. Что не так с приведенной выше конфигурацией VirtualHost? И что я могу сделать, чтобы все исправить?

  3. Должна ли каждая версия Apache иметь определенную версию mod_ssl? Если да, то где я могу получить двоичный файл mod_ssl.so для загрузки (довольно утомительно найти этот крошечный файл! или я смотрю не в том месте!), если должна ли быть определенная версия mod_ssl, то какая версия будет лучшей для Apache 2.0?

  4. Что вызывает ошибку, о которой я упомянул выше? (Я убедился, что мои файлы находятся в правильном месте, все директивы конфигурации включены и т. д.).

  5. Не могли бы вы порекомендовать мне хорошее место/книгу/ссылку, где я могу начать изучать веб-сервер Apache и его различные приложения в производственных средах?

Пожалуйста, кто-нибудь может мне помочь поскорее? Любая ваша помощь будет очень ценна.

ОБНОВЛЯТЬ

Я удалил виртуальный хост до следующего:

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

и я получаю следующую ошибку, отображаемую в браузере:

введите описание изображения здесь

Когда я пробую то же самое со следующими директивами конфигурации (с включенным SSLEngine)

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLEngine on
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

Я получаю следующую ошибку в файле error.log:

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/Dev-Ops/apache/Apache2/conf/server.cert)

Я провел довольно много исследований по удалению парольной фразы и повторной генерации сертификата, заменив существующий на новый; однако, похоже, это не помогло мне! Я начинаю задаваться вопросом, не является ли проблема версией моего mod-ssl (как/где я могу узнать, совместима ли она с версией моего apache! и если она несовместима, где я могу получить файл .so, чтобы все исправить!)

Пожалуйста, кто-нибудь может мне это объяснить? и помочь мне решить эту проблему!

решение1

Должен ли я установить OpenSSL (он у меня уже установлен) на моем компьютере, чтобы mod_ssl работал? Если да, то нужно ли что-то настроить, чтобы они оба взаимодействовали друг с другом?

Зависит от того, как вы его установили. Вам следует использовать MSI, который заканчивается на -win32-x86-openssl, в нем должно быть все, что вам нужно.

Что не так с приведенной выше конфигурацией VirtualHost? И что я могу сделать, чтобы все исправить?

Удалите SSLEnable, это недопустимая директива.

Должна ли каждая версия Apache иметь определенную версию mod_ssl? Если да, то где я могу получить двоичный файл mod_ssl.so для загрузки (довольно утомительно найти этот крошечный файл! или я смотрю не в том месте!), если должна ли быть определенная версия mod_ssl, то какая версия будет лучшей для Apache 2.0?

Смотрите ответ на свой первый вопрос. Похоже, вам нужно выполнить установку из правильного MSI-файла; файл .soне содержит всего необходимого для получения рабочей настройки SSL.

Что вызывает ошибку, о которой я упомянул выше? (Я убедился, что мои файлы находятся в правильном месте, все директивы конфигурации включены и т. д.).

См. ответ на второй вопрос.

Не могли бы вы порекомендовать мне хорошее место/книгу/ссылку, где я могу начать изучать веб-сервер Apache и его различные приложения в производственных средах?

Документация — хорошее место для начала, в ней можно покопаться.здесь может быть хороший ресурс, и в Интернете есть масса руководств.

решение2

Вам следует прочитатьдокументация mod_ssl. Вы увидите, что SSLEnableтам нет никаких указаний.

Связанный контент