我正在尝试为 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,则表明 Apache 正在被https要求:
# 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:访问就挂了?
答案1
由于您使用 aws-services 标记了您的帖子,因此我假设您在 AWS EC2 实例上运行 ubuntu。如果是这样,问题可能出在与该实例关联的安全组上。我建议检查 EC2 实例的安全组并添加一条规则以允许来自任何地方的入站 HTTPS。