无法使用 Apache 2.4 设置 Let's Encrypt 证书,Chrome 显示“无效响应”

无法使用 Apache 2.4 设置 Let's Encrypt 证书,Chrome 显示“无效响应”

我正在尝试在我的服务器上设置 Let's Encrypt 证书,但到目前为止,所有可能出错的地方都出错了。我下载了证书,但脚本没有弄乱我的 Apache 配置文件,因此我必须手动处理它们。

编辑:站点配置已启用a2ensite,服务器正在监听端口 443。ssl模块也已启用。

该站点的 HTTPS 版本的一个配置文件如下所示:

<VirtualHost *:443>
    ServerName example.com

    DocumentRoot /var/www/example.com/www
    <Directory /var/www/example.com/www/>
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    <Directory /var/www/example.com/www/files/>
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com.error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

<VirtualHost *:443>
    ServerName plan.example.com

    DocumentRoot /var/www/example.com/plan
    <Directory /var/www/example.com/plan/>
        Options -Indexes
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

相当标准。不过,每次我在 Chrome 中打开网站的 HTTPS 版本时,都会出现以下情况:Chrome 显示 SSL 错误消息

我的配置文件有什么问题?

答案1

看起来您的服务器没有在端口 443 上发送任何 SSL 证书,即使您的配置看起来没问题。以下是您应该检查的事项列表(我猜您使用的是 debian 或 ubuntu,因为您使用了 a2ensite):

  • 检查 /etc/letsencrypt/live/example.com/ 上的权限是否允许用户 apache2 读取它们(包括每个目录级别的权限)。由于您手动下载了这些文件,因此权限可能不正确
  • 检查服务器日志(通常在 /var/log/apache2 中:access.log、error.log、example.com.access.log 和 example.com.error.log:那里可能有相关信息
  • 启用虚拟主机后,检查是否重新启动(或重新加载)了 apache2 服务器
  • 检查是否没有为相同的 ServerName 和端口配置另一个已启用的 VirtualHost(在 /etc/apache2/sites-enabled 中)。如果是,Apache 将按字母顺序使用第一个
  • 检查您的 fullchain.pem 是否与 pivkey.pem 中的私钥匹配(您可能复制了错误的文件)。以下两个命令行应给出相同的结果:

    openssl x509 -noout -modulus -in /etc/letsencrypt/live/example.com/fullchain.pem | openssl md5 openssl rsa -noout -modulus -in /etc/letsencrypt/live/example.com/privkey.pem | openssl md5

(来源 :https://www.digicert.com/ssl-support/apache-fix-common-ssl-errors.htm

相关内容