# CentOS 8 Apache 安装后 SSL 重定向提示证书错误

**URL:** <https://www.isharkfly.com/t/centos-8-apache-ssl/573>\
**Category:** DevOps\
**Tags:** centos\
**Created:** [October 10, 2020, 1:10pm UTC](https://www.isharkfly.com/t/centos-8-apache-ssl/573 "2020-10-10T13:10:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [October 10, 2020, 1:10pm UTC](https://www.isharkfly.com/t/centos-8-apache-ssl/573/1 "2020-10-10T13:10:39Z")

</div>

在启用 SSL 后，我们也希望将主域名重定向到 www。

希望实现的操作是，当用户访问 [https://cwikius.cn](https://cwikius.cn) 的时候，浏览器应该能够自动重定向到 [https://www.cwikius.cn](https://www.cwikius.cn)。

如果我们按照 80 端口的 http 配置的，你可能会得到浏览器的安全配置。

比如说，我们最开始的配置是：

```auto
# --- CWIKIUS.CN ---
<VirtualHost *:443>
    ServerName cwikius.cn
    Redirect 301 / https://www.cwikius.cn/
</VirtualHost>

```

当我们访问的时候，浏览器会提示连接的 SSL 问题。

![apache-ssl-https-01](https://www.isharkfly.com/images/transparent.png)

## 原因和解决

这是因为如果你在 HTTPS 的 SSL 中也这样配置是不允许的。因为这个可能会导致安全性问题和攻击。

在 HTTPS 建立连接之前，浏览器会首先校验你的证书，如果你的证书有问题，或者没有配置，浏览器是不会给你重定向。

因此你需要修改上面的参数配置为：

```auto
# --- CWIKIUS.CN ---
<VirtualHost *:443>
    ServerName cwikius.cn

    SSLEngine on
    SSLProtocol ALL -SSLv2 -SSLv3

    SSLCertificateFile 证书存储的绝对路径
    SSLCertificateKeyFile 证书存储的绝对路径
    SSLCertificateChainFile 证书存储的绝对路径

   Redirect 301 / https://www.cwikius.cn/
</VirtualHost>

```

通过上面的配置，你的 HTTPD 和浏览器在校验证书完成后给你的访问重定向了。

![apache-ssl-https-02](https://www.isharkfly.com/images/transparent.png)

简单来说，出现这个问题的原因就是 SSL 必须在校验证书完成后才能进行下一步的操作，不管是重定向还是访问网站。
