首页 > 解决方案 > 将密码短语添加到环境变量 (bashrc) 以便在重新启动 Apache 服务器时使用

问题描述

目前我在/etc/apache2/mods-enabled/ssl.conf文件中使用“SSLPassPhraseDialog exec:/path/to/pass-phrase.sh”

#!/bin/bash
echo "mypassphrase"

当我重新启动或启动我的 apache 服务器时,一切正常。

我试图像这样将我的密码添加到我的.bashrcexport SSL_PASSPHRASE=mypassphrase

并获取 .bashrc 文件source ~/.bashrc

之后,我将 pass-phrase.sh 更改为

#!/bin/bash
echo $SSL_PASSPHRASE

执行./path/to/pass-phrase.sh结果到mypassphrase

但是当我尝试重新启动我的 Apache 服务器时,出现与密码相关的错误

> [Mon Dec 16 22:56:59.611824 2019] [ssl:emerg] [pid 19314] AH02580:
> Init: Pass phrase incorrect for key mysub.myinstance.com:443:0 [Mon Dec
> 16 22:56:59.611883 2019] [ssl:emerg] [pid 19314] SSL Library Error:
> error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag [Mon
> Dec 16 22:56:59.611892 2019] [ssl:emerg] [pid 19314] SSL Library
> Error: error:0D08303A:asn1 encoding
> routines:asn1_template_noexp_d2i:nested asn1 error [Mon Dec 16
> 22:56:59.611898 2019] [ssl:emerg] [pid 19314] SSL Library Error:
> error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag [Mon
> Dec 16 22:56:59.611905 2019] [ssl:emerg] [pid 19314] SSL Library
> Error: error:0D07803A:asn1 encoding
> routines:asn1_item_embed_d2i:nested asn1 error (Type=RSAPrivateKey)
> [Mon Dec 16 22:56:59.611912 2019] [ssl:emerg] [pid 19314] SSL Library
> Error: error:04093004:rsa routines:old_rsa_priv_decode:RSA lib [Mon
> Dec 16 22:56:59.611937 2019] [ssl:emerg] [pid 19314] SSL Library
> Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
> [Mon Dec 16 22:56:59.611947 2019] [ssl:emerg] [pid 19314] SSL Library
> Error: error:0D07803A:asn1 encoding
> routines:asn1_item_embed_d2i:nested asn1 error
> (Type=PKCS8_PRIV_KEY_INFO) [Mon Dec 16 22:56:59.613065 2019]
> [ssl:emerg] [pid 19314] AH02564: Failed to configure encrypted (?)
> private key mysub.myinstance.com:443:0, check
> /etc/apache2/ssl/mykey.key

标签: bashapacheubuntusslpassphrase

解决方案


.bashrc配置您的环境。

Apache 有时配置sudo为绑定低于 1024 的端口。并且您可能拥有定义 Apache 启动后将切换到哪个用户的指令 UserGroup

所有这一切都说明您的 Apache 在与您的用户不同的环境中运行。它无权访问变量。

放置这些变量的“正确”位置是在$APACHE_ROOT/bin/envvars.


推荐阅读