我最近成功安装了Letsencrypt,我的网站似乎与https配合得很好。当我访问它时,例如https://example.com
,没有错误/警告出现。然而,当我使用https://www.example.com
访问它时,(包括www)在所有浏览器中我都会收到某种警告,例如,在chrome中:
Your connection is not private
Attackers might be trying to steal your information from
www.example.com (for example, passwords, messages, or credit cards).
NET::ERR_CERT_COMMON_NAME_INVALID
在Opera中:
Opera cannot verify the identity of the server "www.example.com", due to a certificate problem. The server could be trying to trick you.
我的服务器运行Apache和https的作品精彩时,不www.在/etc/letsencrypt/live/www.example.com/我有:
cert.pem chain.pem fullchain.pem privkey.pem
将感谢任何帮助,并询问您是否需要进一步的细节。希望这也有助于其他人。
5条答案
按热度按时间kokeuurv1#
这表示证书对www.example.com无效。
可能有几个原因,包括:
1.在创建证书时,您没有指定这一点,只要求example.com。虽然奇怪的是,LetsEncrypt将其放在www.example.com目录中,这表明您确实做对了。
1.您输入的域名有误。
1.您在域名和/或端口(443)中包含了协议(http/https)。这些不应该在证书请求中,而应该在域名中。
1.您对www.example.com和www.example.com有一个单独的证书example.comwww.example.com,并且在Apache中只配置了一个。大多数站点对两者使用相同的证书,并且两个版本对域都有效。
可能最好查看证书以排除其中的一些。这可以通过在浏览器中查看https://example.com时单击绿色挂锁和/或运行以下命令来完成:
你也可以使用https://www.ssllabs.com/ssltest/在线工具来查看你的SSL设置(事实上我还是建议你这么做!)。
a1o7rhls2#
这可能是晚了,但问题是存在的,因为你没有在
certbot
设置中提到www.exemple.com
。sudo certbot --expand -d www.camelcodes.net
然后重新启动你的Apache服务器
如果您使用ubuntu
service apache2 restart
参考:https://certbot.eff.org/docs/using.html#re-creating-and-updating-existing-certificates
axr492tv3#
关于post here:
我可以获得多个域名的证书(SAN证书)吗?
是的,同一个证书可以通过使用者替代名称(SAN)机制应用于多个不同的名称。Let's Encrypt客户端会在收到请求时自动请求多个名称的证书。浏览器将接受其中列出的任何域名的最终证书。
如果您的通用名是
example.com
,则在生成证书请求时需要将SAN设置为www.example.com
。d4so4syb4#
添加到点从BazzaDP,(从我自己的经验)。
5)如果你有虚拟配置文件,其中ServerName相同,但ServerAlias不同,那么你将得到相同的错误,因此你应该改变ServerName。
k5hmc34c5#
您需要为两个URL生成证书,例如: