it-swarm.com.de

Aktivieren Sie SSL in der Apache-Instanz in EC2

Ich habe eine EC2-Instanz, die die benutzerdefinierte Linux-Installation von Amazon mit eingebautem Apache verwendet. Bei dieser Installation wurde außerdem openssl installiert. Davon abgesehen scheint es keine mod_ssl.so zu geben, die in httpd.conf geladen werden kann. 

Ich möchte also wissen, wie Apache am besten für SSL aktiviert wird, damit ich meinen virtuellen SSL-Host einrichten kann (beachte, dass ich bereits die Zertifikate/Signaturen eingerichtet habe). Idealerweise möchte ich Apache nicht neu erstellen/installieren.

26

Versuchen Sie diesen Befehl:

 yum install mod_ssl 
33
Jose Vega

Eine Zusammenfassung dessen, was getan werden muss, um SSL auf dem Apache-Server in EC2 zu aktivieren:

  1. SSL-Zertifikat erhalten (was Sie bereits getan haben)
  2. Installieren Sie mod_ssl wie Jose Vega sagte
  3. Fügen Sie Ihrer httpd.conf 3 die folgenden Zeilen hinzu.
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>

Vergessen Sie nicht, Port 443 in Ihrer EC2-Instanz zu öffnen

27
CodeBrew

Es ist mir gelungen, SSL in meiner ec2-Instanz zu aktivieren und ein kostenloses SSL-Zertifikat von startssl.com zu installieren. Ich habe ein paar Fehler gemacht, dies ist der grundlegende Ansatz:

  1. Melden Sie sich bei startssl.com an, indem Sie auf den Link Systemsteuerung klicken
    • Schließen Sie den Anmeldevorgang ab. Sie müssen Ihre E-Mail-Adresse bestätigen.
  2. Überprüfen Sie Ihre Domain unter Validation Wizard -> Domain Name Validation.
  3. Holen Sie sich ein Zertifikat durch certificate Wizard
    • Wähle: Web Server SSL/TLS Certificate
    • Geben Sie ein Kennwort ein, das zum Verschlüsseln des privaten Schlüssels verwendet wird. Sie werden das später brauchen.
    • Ich wählte Schlüsselgröße von 4096
    • Speichern Sie den verschlüsselten privaten Schlüssel irgendwo als ssl.encrypted.key
    • ?? Ich habe vergessen, was als nächstes passiert ist
    • Speichern Sie die Zertifikatsdatei irgendwo als ssl.crt. Bei mir musste ich 30 Minuten warten, dann erschien es unter Tool Box -> Retrive Certificate
  4. Verwenden Sie openssl, um die verschlüsselte ssl.encrypted.key-Datei .__ zu entschlüsseln.
    • Sudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
    • startssl.com hat auch eine Entschlüsselungsoption auf ihrer Website, die jedoch für mich nicht funktioniert hat
  5. PuTTY/ssh auf Ihre ec2-Maschine
  6. install mod_ssl
    • Sudo yum install mod_ssl
  7. Ersetzen Sie das Standardzertifikat und den Schlüssel
    • Sudo vi /etc/pki/tls/certs/localhost.crt
    • Fügen Sie den Inhalt von ssl.crt ein
    • Stellen Sie sicher, dass es richtig klebt! Ich verliere immer die ersten 6 Zeichen
    • Verwenden Sie :%d, um das vorhandene Zertifikat bei Bedarf zu löschen
    • [ESC] wq
    • Sudo vi /etc/pki/tls/private/localhost.key
    • Fügen Sie den Inhalt von ssl.unencrypted.key ein
    • Vergewissern Sie sich wieder, dass es richtig klebt! 
    • [ESC] wq
  8. Überprüfen Sie die Konfiguration
    • apachectl configtest
  9. Neustart
    • Sudo service httpd restart
    • Ich hatte Probleme beim Neustart und ich denke, was behoben wurde Sudo kill -9 httpd
12
Iain

Sie sollten das SSL-Modul installieren, da mod SSL standardmäßig nicht mit den meisten Instanzen geliefert wird. Dies hängt jedoch von der Apache-Version ab, die Sie in Ihrer AWS-Instanz verwenden. Um zu überprüfen, welchen Sie verwenden, können Sie diesen Befehl in Ihrer Befehlszeile ausführen:

httpd -v

Für Apache 2.2

yum install mod_ssl

Für Apache 2.4

yum install mod24_ssl

Folgendes funktionierte für mich über Shell mit einem Platzhalterzertifikat mit einem CA-Bundle (auf Lightsail-Servern HTTPS/443 aktiviert). Kilometerstand kann variieren. Testen Sie nach der Installation unter https://www.digicert.com/help/ . Der Kürze halber habe ich die Zertifikate/Schlüssel hier (offensichtlich) gekürzt.

Es ist auch erwähnenswert, dass ich keinen VirtualHost für die Domain einrichten musste.

# 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
0
Eric P

Wenn Sie Amazon Lightsail verwenden, gehen Sie vom Lightsail-Dashboard aus zu Networking und fügen Sie HTTPS/443 in Ihre Firewall ein:

 enter image description here

0
WEBjuju