Подтвердить что ты не робот

Включение SSL в экземпляр apache в EC2

У меня есть экземпляр EC2, который использует Amazon custom linux install со встроенным apache. Эта установка также имеет установленный openssl. При этом, как представляется, не существует mod_ssl.so для загрузки в httpd.conf.

Итак, я хочу знать лучший способ заставить apache быть включенным ssl, поэтому я могу настроить свой виртуальный хост SSL (обратите внимание, что я уже установил сертификат/подписи). В идеале, мне бы не пришлось перестраивать/переустанавливать apache.

4b9b3361

Ответ 1

Попробуйте выполнить следующую команду:

 yum install mod_ssl 

Ответ 2

Краткое описание того, что необходимо сделать для включения SSL на сервере apache в EC2:

  • Получить сертификат SSL (который вы уже сделали)
  • Установите mod_ssl, как сказал Хосе Вега.
  • Добавьте следующие строки в свой httpd.conf 3.
NameVirtualHost *:443

<VirtualHost *:443>
    ServerName www.example.com
#    other configurations
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/mydomain.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/mydomain.key
</VirtualHost>

Наконец, не забудьте открыть порт 443 в вашем экземпляре EC2

Ответ 3

Мне удалось включить SSL на моем экземпляре ec2 и установить бесплатный сертификат ssl из startssl.com. Я допустил несколько ошибок, это основной подход:

  • Подпишитесь на startssl.com, щелкнув ссылку "Панель управления"
    • Завершите процесс регистрации. Вам нужно будет подтвердить свой адрес электронной почты.
  • Подтвердите свой домен в Мастере проверки → Проверка имени домена
  • Получить сертификат по сертификату
    • Выберите: Web Server SSL/TLS Certificate
    • Введите пароль, который будет использоваться для шифрования закрытого ключа. Вам понадобится это позже.
    • Я выбрал ключ из 4096
    • Сохранить закрытый зашифрованный ключ как ssl.encrypted.key someplace
    • ?? Я забыл, что произошло дальше.
    • Сохраните файл сертификата как ssl.crt где-нибудь. Для меня мне пришлось подождать 30 минут, после чего он появился под Tool Box → Retrive Certificate
  • Используйте openssl для расшифровки зашифрованного файла ssl.encrypted.key
    • sudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
    • startssl.com также имеет расшифровку на своем веб-сайте, но для меня это не сработало
  • putty/ssh на ваш компьютер ec2
  • установить mod_ssl
    • sudo yum install mod_ssl
  • Заменить сертификат и ключ по умолчанию
    • sudo vi /etc/pki/tls/certs/localhost.crt
    • Вставить содержимое ssl.crt
    • Убедитесь, что оно правильно вставлено! Я всегда теряю первые 6 символов.
    • Используйте :%d для удаления существующего сертификата, если требуется
    • [ESC] wq
    • sudo vi /etc/pki/tls/private/localhost.key
    • Вставить содержимое ssl.unencrypted.key
    • Снова убедитесь, что он правильно вставлен!
    • [ESC] wq
  • Проверьте конфигурацию
    • apachectl configtest
  • Restart
    • sudo service httpd restart
    • У меня возникли проблемы с перезагрузкой, и я думаю, что исправлено: sudo kill -9 httpd

Ответ 4

Вы должны установить SSL-модуль, поскольку mod SSL не поставляется с большинством экземпляров по умолчанию, но это зависит от версии Apache, которую вы используете в своем экземпляре AWS. Чтобы проверить, какой из них вы используете, вы можете запустить эту команду в командной строке:

httpd -v

Для Apache 2.2

yum install mod_ssl

Для Apache 2.4

yum install mod24_ssl

Ответ 5

Если вы используете Amazon Lightsail, обязательно зайдите в Networking из панели Lightsail и добавьте HTTPS/443 в свой брандмауэр:

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

Ответ 6

Вот что сработало для меня, через оболочку, с сертификатом подстановки, который имел CA-пакет (на серверах Lightsail, HTTPS/443 включен). Пробег может отличаться. Тест на https://www.digicert.com/help/ после установки. Для краткости я сократил здесь сертификаты/ключи (очевидно).

Стоит также отметить, что мне не нужно было настраивать VirtualHost для домена.

# Overwrite these files on Amazon Linux + mod_ssl (or mod24_ssl)
# /etc/pki/tls/certs/ca-bundle.crt
# /etc/pki/tls/certs/localhost.crt
# /etc/pki/tls/private/localhost.key

## BEGIN

# INSTALL AS ROOT
sudo -su root

sudo cat > /etc/pki/tls/certs/localhost.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIF7DCCBNSgAwIBAgIMNY9yk7s651tb2YasMA0GCSqGSIb3DQEBCwUAMEwxCzAJ
KoZIhvcNAQELBQADggEBACu8MsClqLbO1NqjXw+igERhLRkISgnkIjB1p69zh3V0
/3b68mkC+8pL3HNLgL0qIM9sPKKOl/Iyky2EfwfQDoZEWNB0qWKIOovH5Oj9z5DE
-----END CERTIFICATE-----
EOF

sudo cat > /etc/pki/tls/private/localhost.key <<EOF
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCL6UsW9yC0Faev
1zeEJcF6E7P6XYqT25rWMj5xzUM8gi/4nLpGr+tOBlFJYSbLlEHJKG6QLO9Ku896
MwTtWyOrTlPtpJEi9LUrLmOUXtD1WN2Ekql/ZLaO7pxUtVTRF4MyYspGgU1ZjkxY
vQLnZs85bnG2dLz7Q4xxlj4=
-----END PRIVATE KEY-----
EOF

sudo cat > /etc/pki/tls/certs/ca-bundle.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIESzCCAzOgAwIBAgIOSMqBefg+ikLz9c3isT8wDQYJKoZIhvcNAQELBQAwTDEg
bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTYxMDE0MDAwMDAwWhcNMjQw
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
-----END CERTIFICATE-----
EOF

# RESTART
sudo service httpd restart

#DONE