我正在尝试为在 AWS 的 Ubuntu 实例中运行的 Apache2 配置 https 支持。我在 /etc/apache2/sites-enabled/default-ssl.conf 中启用了 SSL 支持:
# grep -v '^[ ]*#' /etc/apache2/sites-enabled/default-ssl.conf | grep -v '^$'
<VirtualHost *:443>
ServerName miit.co
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/miit_co.crt
SSLCertificateKeyFile /etc/ssl/private/miit-co.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
并且整个配置是有效的:
# apachectl configtest
Syntax OK
该文件/etc/ssl/private/miit-co.key
是我生成的“PEM RSA 私钥”(现在不记得究竟是如何生成的),/etc/ssl/certs/miit_co.crt
是我从非技术老板那里收到的两个miit_co.pem
文件之一,另一个是我不知道如何处理的文件. 我还有一个csr.pem
(PEM 证书请求),我生成并发送给我的老板。我没有给他发私钥文件。miit_co.pem
也许我必须对那个文件做点什么。
当我启动 Apache ( systemctl start apache2
) 时,没有任何内容/var/log/apache2/{error,access}.log
表明 Apache2没有正常运行。但是,https ://www.digicert.com/help/ 当给定我们的站点名称 (miit.co) 时,只会旋转和旋转。我想知道除了 Apache 是否有其他东西停止https访问,因为http://miit.co按预期工作(它实际上重定向,但在这里不相关)但https://miit.co只是超时。 ufw status
回复disabled
。
/etc/apache2/mods-enabled
包括ssl.{conf,load}
.
如果我在本地机器上尝试 curl,则表明https请求正在访问 Apache:
# curl https://localhost
curl: (51) SSL: certificate subject name (miit.co) does not match target host name 'localhost'
# curl https://miit.co/michael
(hangs)
关于为什么https: access 挂起的任何建议?
由于您使用 aws-services 标记了您的帖子,我假设您在 AWS EC2 实例上运行 ubuntu。如果是这样,则问题可能出在与实例关联的安全组上。我建议查看 EC2 实例的安全组并添加一条规则以允许来自任何地方的入站 HTTPS。