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

Установите сертификат SSL на Apache Windows Server 2012 R2

Я разработчик. Наши администраторы сервера дали мне 3 файла. .cer, .pfx и .p7b и сказали мне установить SSL на сервере Apache. У меня Wamp с Apache версии 2.4.9. Я поискал и кое-что нашел. Я открываю файл httpd.conf и ищу DocumentRoot. После добавления DocumentRoot,

DocumentRoot "c:/wamp/www/"

SSLEngine on

SSLCertificateFile C:/Path/MyCer.cer

SSLCertificateKeyFile C:/Path/MyPfx.pfx

SSLCACertificateFile C:/Path/MyP7b.p7b

Теперь, когда я перезапускаю apache. Я не могу перемещаться по серверу даже по http. Когда я комментирую приведенные выше строки, мои сайты работают по http.

Хотя это не совсем «вопрос», и вы не указываете, что находится внутри ваших файлов, вы делаете по крайней мере одну ошибку: файл pfx (при условии, что это не ошибка именования) не может использоваться непосредственно как " ключ »в Apache. Не зная содержимого cer и файла p7b, давайте предположим, что в pfx есть вся необходимая информация, и что у вас есть пароль pfx (да, верно?), И начнем с этого.

  1. Возьмите и установите OpenSSL для Windows (Предложение: https://indy.fulgan.com/SSL/ имеет предварительно скомпилированные двоичные файлы, если вы не хотите строить из источников в http://www.openssl.org/)

  2. Извлеките из pfx различные файлы, необходимые для Apache (при необходимости вам будет предложено ввести пароль pfx):

    а. Извлеките закрытый ключ сертификата SSL (зашифрованный) из pfx

    C:\Path> openssl pkcs12 -in MyPfx.pfx -nocerts -nodes -out MyEncKey.key

    б. Удалите шифрование из закрытого ключа сертификата SSL

    C:\Path> openssl rsa -in MyEncKey.key -out MyKey.key

    c. Извлечь сертификат SSL из pfx

    C:\Path> openssl pkcs12 -in MyPfx.pfx -clcerts -nokeys -out MyCert.cer

    d. Извлеките (возможно, пустую) цепочку сертификатов CA из pfx

    C:\Path> openssl pkcs12 -in MyPfx.pfx -nodes -nokeys -cacerts -out MyCAs.crt

  3. Перестройте свой httpd.conf, используя эти строки вместо вашей (примечание: ВКЛЮЧАЙТЕ СТРОКУ SSLCACertificateFile ТОЛЬКО, если MyCAs.crt не пуст; вы можете проверить это с помощью любого текстового редактора)

  SSLCertificateFile C:/Path/MyCert.cer
  SSLCertificateKeyFile C:/Path/MyKey.key
  SSLCACertificateFile C:/Path/MyCAs.crt

Ваш SSL-сертификат будет работать на порте HTTPS, т.е.443, вам необходимо перенаправить свой трафик с Http на HTTPS для Apache, который вам нужно сделать. Вам нужно перейти в MMC, чтобы разместить свой сертификат, а затем подтвердить его.