0

我正在使用 Cloudflare 在 Ubuntu 20 上使用 Apache2 建立安全连接。我使用他们的 Origin Server 向导生成以下文件:

example.com.pem (来源证书)

example.com.key文件(私钥)

我给了他们 Cloudflare 建议的扩展。

我跑了这个:

 sudo a2enmod ssl
 sudo systemctl restart apache2

这是我的设置:

<VirtualHost *:443>
    ....
    SSLEngine on
    SSLCertificateFile /path/example.com.pem
    SSLCertificateKeyFile /path/example.com.key

非安全站点工作正常(我还没有将其指向安全站点),但是当我尝试访问安全站点时仍然收到错误 525(SSL 握手失败)。(在运行 sudo a2enmod ssl 命令之前出现网站关闭错误)

我试着看看它是否设置好:

apachectl configtest

它只是说“语法OK”

(编辑:我删除了我尝试过的错误内容——我现在知道这是错误的——以简化问题。)

4

1 回答 1

1

使用 Max Ivanov 的评论答案,这很有效:

生成文件

使用 Cloudflare 的 Origin Server 向导生成以下文件:

example.com.pem(来源证书)

example.com.key 文件(私钥)

我给了他们 Cloudflare 建议的扩展。

复制到 Ubuntu

将文件复制到 Ubuntu。一个好地方是 /etc/ssl

添加 .conf 文件的路径

这些文件位于 /etc/apache2/sites-available

您可以使用默认文件或为您的站点创建自己的特定文件。我有 example.com.conf 和 example.com-ssl.conf

将两个复制文件的路径添加到安全版本(example.com-ssl.conf)

<VirtualHost *:443>
   ....
   SSLEngine on
   SSLCertificateFile /path/example.com.pem
   SSLCertificateKeyFile /path/example.com.key

告诉 Ubuntu 使用它

如果您创建了自己的 conf 文件,那么您需要将它们添加到可用的站点,您可以这样做:

sudo a2ensite example.com.conf
sudo a2ensite example.com-ssl.conf

您可能还需要删除默认值,具体取决于您的用例。在某处有一个命令...

你还需要运行

sudo a2enmod ssl
sudo systemctl restart apache2

将 Cloudflare 设置为严格

在仪表板中,将 ssl 设置为严格。

于 2021-01-02T15:49:38.160 回答