在使用mailcow更新到新版本后,Windows 7+outook 2007的老机器出现了查收邮件时,显示不支持的协议。上网查了下原来是Dovecot docker镜像使用的alipine linux已经从3.17开始更新到SSL3.0,默认不再支持老的tls1.0。
找了很久才找到有人提示要自己指定TLS版本,因为默认最低就是1.2 TLS,加密协议SECLEVEL要选0
找到Alpine linux,把里面的/etc/ssl/openssl.cnf进行修改
sed -i 's/providers = provider_sect/providers = provider_sect\n\
ssl_conf = ssl_sect\n\
\n\
[ssl_sect]\n\
system_default = system_default_sect\n\
\n\
[system_default_sect]\n\
Options = UnsafeLegacyRenegotiation\n\
MinProtocol = TLSv1\n\
CipherString = DEFAULT@SECLEVEL=0/' /etc/ssl/openssl.cnf
最终openssl.cnf里面增加了如下行列
[openssl_init]
providers = provider_sect
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
Options = UnsafeLegacyRenegotiation
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=0
把openssl.cnf倒出来,再把它映射到dovecot docker里面,然后docker compose up -d 就可以启动,测试可以用老电脑收发邮件了。