apache - 如何仅使用 .crt 文件在 Apache 上配置 SSL
问题描述
我不熟悉 Apache rsrs 上的 SSL 配置
但是今天,一位客户要求我配置一台 Azure 机器(基于 Ubuntu 18.04)以用于某些网站。
一切正常...我已经安装了 Apache、PHP、Mysql、phpMyAdmin 等。但是,在完成工作之前,他要求我为该服务器上托管的域和所有子域安装通配符 SSL 证书。他在电子邮件正文中向我发送了一个 .CRT 文件和一个 Base64。
我尝试使用 Base64 作为 .KEY 文件,将 .CRT 文件转换为 .PEM(使用 openssl)并设置 Apache VirtualHosts(端口 443,显而易见),如下所示:
SSLEngine on
SSLCertificateFile /home/website/ssl/wildcard_cert.pem
SSLCertificateKeyFile /home/website/ssl/wildcard_cert.key
SSLCertificateChainFile /home/website/ssl/wildcard_cert.crt
apache2ctl configtest
返回成功,但是尝试重启服务时,Apache 上不去。检查日志,私钥有错误,如下:
[ssl:error] [pid 30401] AH02579: Init: Private key not found
[ssl:error] [pid 30401] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[ssl:error] [pid 30401] SSL Library Error: error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error
[ssl:error] [pid 30401] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[ssl:error] [pid 30401] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=RSAPrivateKey)
[ssl:error] [pid 30401] SSL Library Error: error:04093004:rsa routines:old_rsa_priv_decode:RSA lib
[ssl:error] [pid 30401] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[ssl:error] [pid 30401] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
[ssl:emerg] [pid 30401] AH02564: Failed to configure encrypted (?) private key [mydomain.com]:443:0, check /home/website/ssl/wildcard_cert.key
注释 conf 文件中与 SSL 相关的行,Apache 运行良好,但仅限于 HTTP。
有人能帮我吗?
谢谢!:)
解决方案
推荐阅读
- python - discord.py 中 PermissionOverwrite 的一个很好的例子
- architecture - 单片应用程序水平可扩展性(重复):如何处理数据库?
- javascript - 使用JS在网格单元格上动态设置背景图像
- c# - 孩子不会更新 Xamarin SQLite 扩展 - 多对多关系
- html - 更改移动和桌面布局的列顺序
- python - Python 如何从 sys.path_importer_cache 中删除路径(无效的命名空间导入)
- c# - 如何将 Windows 服务与 UI 配置应用程序连接?
- python - 如何在 Autobahn Python 中避免 ReactorNotRestartable
- android - 使用适用于 Android 的 AWS Amplify 下载多个文件
- c - 开关有错误“预期类型说明符”(C)