Während der Installation des SSL-Zertifikats (von CA erhalten) auf meiner AWS EBS Single Instance - Tomcat (Anweisungen gefolgt von http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-tomcat.html) habe ich den folgenden Fehler während der Bereitstellung .Installieren des SSL-Zertifikats auf AWS EBS-Einzelinstanz (Tomcat)
Befehl fehlgeschlagen in der Instanz. Rückkehrcode: 1 Ausgabe: httpd: kein Prozess gefunden. container_command killhttpd in .extensions/https-instance.config ist fehlgeschlagen.
Ich habe ssl.config (siehe unten) Datei erstellt, die während der Bereitstellung abgeholt wird. Leider schlägt die Bereitstellung mit dem obigen Fehler fehl.
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
packages:
yum:
mod_ssl : []
files:
/etc/httpd/conf.d/ssl.conf:
mode: "000644"
owner: root
group: root
content: |
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost *:443>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ServerName www.mydomain.com
SSLEngine on
SSLCertificateFile "/etc/pki/tls/certs/server.crt"
SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
TransferLog /var/log/httpd/elasticbeanstalk-access_log
</VirtualHost>
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
....
-----END RSA PRIVATE KEY-----
container_commands:
killhttpd:
command: "killall httpd"
waitforhttpddeath:
command: "sleep 3"
Wenn der container_command aus der Datei entfernt wird, schließt die Bereitstellung erfolgreich, hat aber keine Wirkung am Ende und https nicht aktiviert ist. Ich habe sichergestellt, dass Port 443 mit der verbundenen Sicherheitsgruppe aktiviert ist.
Helfen Sie mir zu verstehen, was im Prozess fehlt.
Sieht aus wie 'httpd' läuft nicht, wenn Sie versuchen, 'killall httpd' auszuführen. Warum tötest du 'httpd'? –
Wie in den verknüpften AWS-Anweisungen im ursprünglichen Absatz des Benutzers angegeben: "Der Schlüssel container_commands stoppt den httpd-Dienst, nachdem alles konfiguriert wurde, sodass der Dienst die neue Datei https.conf und das Zertifikat verwendet." Ich bin auch auf das gleiche Problem gestoßen und habe es noch nicht gelöst. –