bash - 将密码短语添加到环境变量 (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
解决方案
.bashrc
配置您的环境。
Apache 有时配置sudo
为绑定低于 1024 的端口。并且您可能拥有定义 Apache 启动后将切换到哪个用户的指令 User
。Group
所有这一切都说明您的 Apache 在与您的用户不同的环境中运行。它无权访问变量。
放置这些变量的“正确”位置是在$APACHE_ROOT/bin/envvars
.
推荐阅读
- html - EmberJS:如何加载相对于 rootURL 的资产或使用绝对路径加载资产
- android - 如何在android上为折线制作动画?
- javascript - 这是从 React Native 中的数组中删除项目的正确方法吗?
- php - Laravel:具有索引时的迁移错误
- scala - Doobie - 将任意效果提升到 ConnectionIO
- sorting - 如何在power bi中按矩阵的降序对列日期进行排序
- prolog - 如何从 Prolog 中的选择中选择最短路径
- jquery - 单击 am 项目后下拉菜单永久隐藏
- python - 如何使用 python 将树莓派连接到另一台 PC 的数据库
- reactjs - React hooks useCallback 依赖于函数