Ответ 1
Попробуйте выполнить следующую команду:
yum install mod_ssl
У меня есть экземпляр EC2, который использует Amazon custom linux install со встроенным apache. Эта установка также имеет установленный openssl. При этом, как представляется, не существует mod_ssl.so для загрузки в httpd.conf.
Итак, я хочу знать лучший способ заставить apache быть включенным ssl, поэтому я могу настроить свой виртуальный хост SSL (обратите внимание, что я уже установил сертификат/подписи). В идеале, мне бы не пришлось перестраивать/переустанавливать apache.
Попробуйте выполнить следующую команду:
yum install mod_ssl
Краткое описание того, что необходимо сделать для включения SSL на сервере apache в EC2:
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
Мне удалось включить SSL на моем экземпляре ec2 и установить бесплатный сертификат ssl из startssl.com. Я допустил несколько ошибок, это основной подход:
Web Server SSL/TLS Certificate
ssl.encrypted.key
someplacesudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
sudo yum install mod_ssl
sudo vi /etc/pki/tls/certs/localhost.crt
:%d
для удаления существующего сертификата, если требуется[ESC] wq
sudo vi /etc/pki/tls/private/localhost.key
[ESC] wq
apachectl configtest
sudo service httpd restart
sudo kill -9 httpd
Вы должны установить SSL-модуль, поскольку mod SSL не поставляется с большинством экземпляров по умолчанию, но это зависит от версии Apache, которую вы используете в своем экземпляре AWS. Чтобы проверить, какой из них вы используете, вы можете запустить эту команду в командной строке:
httpd -v
Для Apache 2.2
yum install mod_ssl
Для Apache 2.4
yum install mod24_ssl
Если вы используете Amazon Lightsail, обязательно зайдите в Networking из панели Lightsail и добавьте HTTPS/443 в свой брандмауэр:
Вот что сработало для меня, через оболочку, с сертификатом подстановки, который имел 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