AWS EBS Single Instance - Tomcat (지침은 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-tomcat.html에 이어짐)에 SSL 인증서 (CA에서 얻음)를 설치하는 과정에서 배포 중에 다음 오류가 발생합니다. .AWS EBS 단일 인스턴스 (Tomcat)에 SSL 인증서 설치
인스턴스가 실패했습니다. 리턴 코드 : 1 출력 : httpd : 프로세스 없음이 발견되었습니다. .ebextensions/https-instance.config의 container_command killhttpd가 실패했습니다.
배포 중에 가져온 ssl.config 파일 (아래 참조)을 만들었습니다. 그러나 유감스럽게도 위의 오류로 배포가 실패합니다. container_command이 파일에서 제거 된 경우
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"
는 배포가 성공적으로 완료되지만 사용할 수 없습니다 끝과 HTTPS에 영향을주지 않습니다. 관련 보안 그룹과 함께 포트 443을 사용할 수 있도록했습니다.
처리 과정에서 누락 된 부분을 알려주십시오.
'killall httpd'를 실행하려고하면'httpd'가 실행되지 않습니다. 왜 당신은'httpd'를 죽입니까? –
사용자의 원래 단락에서 링크 된 AWS 지침에 명시된 바와 같이 : "container_commands 키는 서비스가 새로운 https.conf 파일 및 인증서를 사용하도록 모든 것이 구성된 후 httpd 서비스를 중지합니다." 나는 또한 같은 문제에 부딪 쳤고 아직 해결하지 못했다. –