我正在配置Apache反向代理,用于从中间件调用后端服务器,该服务器具有客户端证书和密钥。短期内:
http https
middleware -----------> proxy -------------> backend中间件甚至不知道后端服务器,这是反向代理的诀窍。
我(认为)能够操作代理信标,因为我收到了
AH02268:代理客户端证书回调:(localhost:80)下游服务器需要客户端证书,但没有配置,因此我发现代理试图调用后端,但最后一个抱怨的是代理没有向他传递证书。
所以我错过了正确配置证书的机会。AFAIK我必须编译conf.d/modes-enabled/ssl.conf的D3*和SSLProxyMachineCertificate*节。我试过这样做
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLEngine off
SSLProxyEngine on
SSLProtocol all
# proxy
SSLProxyMachineCertificateFile /usr/local/etc/apache2/ssl.crt/certificate.pem
SSLProxyMachineCertificateChainFile /usr/local/etc/apache2/ssl.crt/chain.pem
SSLProxyCACertificateFile /usr/local/etc/apache2/ssl.crt/ca.pem
# certificate
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /usr/local/etc/apache2/ssl.crt/all.pem
SSLCertificateChainFile /usr/local/etc/apache2/ssl.crt/certificate.pem
# key
SSLCertificateKeyFile /usr/local/etc/apache2/ssl.key/server.key
SSLPassPhraseDialog exec:/usr/local/etc/apache2/pwf.sh几个注意事项:
certificate.pem是服务器证书。chain.pem是证书的中间链,边框除外。ca.pem是根CA证书。server.key是RSA私钥。我用pwf.sh脚本代替了普通的对话框模式输入密码,但是我甚至不能启动apache,因为我有以下消息
AH02252:为SSL代理配置的不完整客户端证书(丢失或加密私钥?)AH02312:初始化mod_ssl时发生致命错误,退出。AH00016:配置失败
现在我读到(遗憾的是)没有办法克服这个问题,因为正如apache.org站点所说,在所有SSLProxyMachine*指令下:
(目前不支持加密私钥)
我迷路了吗?
发布于 2020-06-14 15:04:19
您已经意识到自己不支持加密的私钥。如果你坚持使用加密的私钥,你就会迷路。如果提供纯文本中的私钥是可以接受的,那么就这样做。将加密的私钥转换为普通密钥使用(用于RSA密钥)
openssl rsa -in encrypted_key.pem -out decrypted_key.pemhttps://askubuntu.com/questions/1250260
复制相似问题