You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2022配置Apache2.4 HTTPS:带密码密钥文件问题

Windows Server 2022上Apache 2.4 HTTPS配置:带密码密钥的密码提供方案问题

背景

我在Windows Server 2022服务器上配置Apache 2.4的HTTPS连接,使用的CA签名服务提供了PEM格式的CRT证书和带密码加密的KEY文件。根据Apache文档:

  • 必须正确配置SSLPassPhraseDialog
  • 默认的builtin选项不兼容Windows
  • exec:和!(管道)选项无兼容性问题,理论上可正常工作

尝试方案及异常

服务器已部署Django应用并安装了Python,我尝试用Python脚本输出密码到标准输出,但启动Apache时报错:
AH02580: Init: Pass phrase incorrect for key

排查后确认:

  • Apache能定位到Python脚本(重命名脚本后会提示文件不存在)
  • 脚本并未实际执行(没有生成预期的输出文件)

需求

需要以下两种方案之一的指导:

  1. 让Python脚本正常运行的方法
  2. 无需Python的密码提供替代方案

重要说明:我已知晓可通过OpenSSL移除密钥文件的密码且已验证可行,但希望找到更优替代方案。

当前配置

httpd-ssl.conf 相关配置

SSLPassPhraseDialog  "exec:D:/the/path/to/passphrase.py"
SSLCertificateFile "${SRVROOT}/ssl/my.certificate.file.crt"
SSLCertificateKeyFile "${SRVROOT}/ssl/my.key.file.with.passphrase.key"

passphrase.py 内容

print('my_passphrase')
with open('D:\\the\\path\\to\\passphrase.out.txt','w') as out_file:
    out_file.write('it ran')

补充排查信息

  • 直接在控制台运行passphrase.py可正常输出并生成文件
  • 重命名脚本后Apache提示找不到文件
  • 使用无密码密钥文件时Apache可正常启动
  • 使用带密码密钥文件时,Apache报密码错误且无脚本输出文件生成

内容的提问来源于stack exchange,提问作者JDM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:34:56