在 _default_ 虚拟主机中配置 SSL

在 _default_ 虚拟主机中配置 SSL

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

相关内容