我的一位客户决定继续从自签名证书转移到商业证书(“GoDaddy 标准 SSL”)。我想要转移到商业 SSL 证书的第一个服务是 Webmin/Usermin... 但是,在迁移到新的 SSL 证书并重新启动 Webmin 后,我收到以下错误:
[21/Oct/2012:13:12:47 -0400] Restarting
Failed to open SSL cert /etc/webmin/miniserv.cert at /usr/share/webmin/miniserv.pl line 4229.
Error: Webmin server did not write new PID file
这就是它的全部内容。
这是 Webmin 的配置文件(/etc/webmin/miniserv.conf
):
port=10000
root=/usr/share/webmin
mimetypes=/usr/share/webmin/mime.types
addtype_cgi=internal/cgi
realm=Webmin Server
logfile=/var/webmin/miniserv.log
errorlog=/var/webmin/miniserv.error
pidfile=/var/webmin/miniserv.pid
logtime=168
ppath=
ssl=0
env_WEBMIN_CONFIG=/etc/webmin
env_WEBMIN_VAR=/var/webmin
atboot=1
logout=/etc/webmin/logout-flag
listen=10000
denyfile=\.pl$
log=1
blockhost_failures=5
blockhost_time=60
syslog=1
session=1
server=MiniServ/1.600
userfile=/etc/webmin/miniserv.users
keyfile=/etc/webmin/miniserv.pem
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
passwd_cindex=2
passwd_mindex=4
passwd_mode=0
preroot=virtual-server-theme
passdelay=1
sudo=1
sessiononly=/virtual-server/remote.cgi
preload=virtual-server=virtual-server/virtual-server-lib-funcs.pl virtual-server=virtual-server/feature-unix.pl virtual-server=virtual-server/feature-dir.pl virtual-server=virtual-server/feature-dns.pl virtual-server=virtual-server/feature-mail.pl virtual-server=virtual-server/feature-web.pl virtual-server=virtual-server/feature-webalizer.pl virtual-server=virtual-server/feature-ssl.pl virtual-server=virtual-server/feature-logrotate.pl virtual-server=virtual-server/feature-mysql.pl virtual-server=virtual-server/feature-postgres.pl virtual-server=virtual-server/feature-ftp.pl virtual-server=virtual-server/feature-spam.pl virtual-server=virtual-server/feature-virus.pl virtual-server=virtual-server/feature-webmin.pl virtual-server=virtual-server/feature-virt.pl virtual-server=virtual-server/feature-virt6.pl
anonymous=/virtualmin-mailman/unauthenticated=anonymous
premodules=WebminCore
logouttimes=
extracas=/etc/webmin/miniserv.chain
certfile=/etc/webmin/miniserv.cert
ssl_redirect=0
以下是 Webmin SSL 配置屏幕的屏幕截图,仅供参考:
http://postimage.org/image/r472go7tf/
编辑于 2012 年 10 月 22 日星期一 10:45:24 CDT:
按照 Falcon Momot 建议运行命令时openssl x509 -noout -text -in /etc/webmin/miniserv.cert
,出现以下错误:
unable to load certificate
139760808240800:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE
答案1
检查错误所指的文件是否确实存在,以及运行 webmin 的用户是否有权打开该文件。
当您这样做时,请检查私钥是否已解密并可访问(大多数需要 SSL 密钥的守护进程会在放弃权限之前以 root 身份打开它们)。
然后,假设您使用的是 Linux,您可以检查证书是否有效:
openssl x509 -noout -text -in /etc/webmin/miniserv.cert
您还可以通过验证以下命令的输出是否匹配来检查私钥是否已解密并与公钥(在证书中)匹配:
openssl x509 -noout -modulus -in /etc/webmin/miniserv.cert | md5sum
openssl rsa -noout -modulus -in /etc/webmin/miniserv.pem | md5sum
当然,这假设您使用的是 RSA 密钥(而不是例如 ECDSA)。
答案2
固定的...
原来我从 GoDaddy 下载了错误的文件,当我下载“SSL 包”时,我原本下载的是用于“其他”的文件。当我下载了用于“Apache”的文件时,一切正常……
不过还是感谢 Falcon Momot 的帮助……