webmin 中有一个默认虚拟主机,指令似乎与文件 ssl.conf 相同。它似乎处理端口 443 上所有未被其他虚拟服务器处理的请求。
我尝试通过更改两行将 .crt 和 .key 更改为我的自定义 .crt 和 .key
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /var/www/html/server.crt
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /var/www/html/server.key
但在 webmin 中单击“应用更改”后出现错误
出于安全原因,您的部分私钥文件已加密。要读取这些文件,您必须提供密码。
服务器 6313213113.static.ctinets.com:443 (RSA) 输入密码:Apache:mod_ssl:错误:未找到私钥。
我该如何解决这个问题?
* 更新 *
<VirtualHost 172.16.1.99:443>
SSLEngine on
SSLCertificateFile /var/www/html/server.crt
SSLCertificateKeyFile /var/www/html/server.key
DocumentRoot /var/www/html
ServerName www.domain.com:443
DirectoryIndex index.php index.html index.htm index.shtml
LogLevel debug
HostNameLookups off
#DefaultLanguage zh-cn
AddLanguage en .en
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
AddDefaultCharset UTF-8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
UseCanonicalName off
php_value memory_limit 32M
</VirtualHost>
在我配置 httpd.conf 之后
当我访问http://www.domain.com:443是可以访问的,但是当我访问https://www.domain.com,可以访问........,有什么问题?
答案1
私钥文件本身已用密码加密。您需要删除此加密,以便 Apache 可以加载它,而无需您手动输入密码。
您可以使用openssl
以下方法来执行此操作:
openssl pkey -in server.key -out server-nopassphrase.key