【发布时间】:2017-09-19 01:47:11
【问题描述】:
我正在阅读证书管理器的 aws 文档。我可以为 ELB 关联 SSL 证书。我已经这样做了,我的应用程序仍然驻留在部署在 Ubuntu EC2 服务器上的 Apache 服务器上。
在文档中它有以下内容,
注意目前,ACM 证书与 Elastic Load 相关联 平衡负载均衡器或 Amazon CloudFront 分配。虽然 您在 Amazon EC2 实例上安装您的网站,您不部署 那里有 ACM 证书。相反,将 ACM 证书部署在您的 Elastic Load Balancing 负载均衡器或您的 CloudFront 分布。
据我了解,这意味着我们可以将应用程序部署在 EC2 上,并将其添加到具有 ACM 证书的负载平衡下。
这就是您为 Web 应用程序使用 SSL 所需要的全部内容。
但是当我不使用这种方法时,我是使用下面的 Apache 配置来配置 SSL。
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName example.com
ServerAlias example.com
ErrorLog ${APACHE_LOG_DIR}/diyoron-error_log
CustomLog ${APACHE_LOG_DIR}/diyoron-access_log common
<Directory /var/www/html/>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R]
</Directory>
</VirtualHost>
<VirtualHost *:443>
# ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/
ServerName example.com
ServerAlias example.com
ErrorLog ${APACHE_LOG_DIR}/example-error_log
CustomLog ${APACHE_LOG_DIR}/example-access_log common
SSLEngine On
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
</VirtualHost>
但在我目前的安排中,我无法在我的 Apache 配置中配置 SSLCertificateKeyFile、SSLCertificateChainFile、SSLCertificateFile。
如果有人能指引我走向正确的道路,我将不胜感激。
AH00016: Configuration Failed
[Fri Apr 21 23:14:01.184314 2017] [ssl:emerg] [pid 1190] AH02572: Failed to configure at least one certificate and key for example.com:443
[Fri Apr 21 23:14:01.184826 2017] [ssl:emerg] [pid 1190] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Fri Apr 21 23:14:01.184834 2017] [ssl:emerg] [pid 1190] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
【问题讨论】:
标签: apache amazon-web-services ssl amazon-ec2 ssl-certificate