apache - 在 Apache 中安装 SSL 时出错
问题描述
我正在按照以下步骤进行 SSL :
openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.crt
这工作正常。
openssl req -text -noout -verify -in domain.crt
效果很好。
openssl rsa -in domain.key -check
> RSA key ok writing RSA key
> -----BEGIN RSA PRIVATE KEY-----
>
>
> .....
>
>
> -----END RSA PRIVATE KEY-----
移动.key
并.crt
归档到/etc/apache2/ssl
打开/etc/apache2/sites-available/default-ssl.conf
添加
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.key
接下来是
sudo a2enmod ssl
sudo service apache2 restart
错误是::
[Wed Jun 13 10:48:03.690496 2018] [ssl:emerg] [pid 2536] AH02562: Failed to configure certificate 172.31.25.100:443:0 (with chain), check /etc/apache2/ssl/domain.crt
[Wed Jun 13 10:48:03.690538 2018] [ssl:emerg] [pid 2536] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Wed Jun 13 10:48:03.690548 2018] [ssl:emerg] [pid 2536] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib
AH00016: Configuration Failed
解决方案
我建议您自动安装 ssl。你可以通过一些代码来做到这一点:
sudo apt-get install git
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/
./letsencrypt-auto
在此之后,它会要求您接受条款以及是否要将所有流量从 http 重定向到 https。所以,你必须仔细阅读。
推荐阅读
- android - 如何向 Facebook 移动应用事件添加自定义参数?
- twig - 为动态标签添加前缀
- javascript - 如何使用脚本中的字符串触发引导模式?
- c# - 如何在 C# 中将 json 数据转换为对象?
- c++ - 无法访问嵌入到 Objective-C 项目中的 C++ 代码中的文件
- c# - WPF 如何使用 GridViewColumns(ListView 绑定)添加绑定到数组元素的列
- vba - 如何在 VBA 中创建一个函数以返回与记录集中每条记录的特定条件匹配的列名?
- angular - SVG animateTransform 不更新 from 和 to 值变化
- sql - BigQuery:将 mm/yyyy 日期与特定日期和 CURRENT_DATE 进行比较
- php - 将文件从一个 laravel 应用上传/存储到另一个 laravel 应用