尽管我按照指南操作,Apache2 SSL HTTPS 仍然无法正常工作

尽管我按照指南操作,Apache2 SSL HTTPS 仍然无法正常工作

我正在尝试为 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。

相关内容