在 Ubuntu 16.04 主机上,在任何网站上使用 cURL 或 Wget 都会导致以下错误:
% sudo wget https://github.com --debug
DEBUG output created by Wget 1.17.1 on linux-gnu.
Reading HSTS entries from /home/perlwle/.wget-hsts
URI encoding = ‘UTF-8’
--2020-06-03 17:06:22-- https://github.com/
Resolving github.com (github.com)... 13.250.177.223
Caching github.com => 13.250.177.223
Connecting to github.com (github.com)|13.250.177.223|:443... connected.
Created socket 3.
Releasing 0x000055bd8d06ab10 (new refcount 1).
Initiating SSL handshake.
Handshake successful; connected socket 3 to SSL handle 0x000055bd8d06b400
certificate:
subject: CN=*.example.com
issuer: CN=RapidSSL RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US
ERROR: no certificate subject alternative name matches
requested host name ‘github.com’.
To connect to github.com insecurely, use `--no-check-certificate'.
Closed 3/SSL 0x000055bd8d06b400
问题出在subject: CN=*.example.com
,以example.com
为例。这是我在另一台主机上购买的带有设置证书的域名。为了提供更多背景信息,它是当前主机内运行的 LXC 主机。
我很困惑为什么使用了错误的认证并且我不知道在哪里寻求帮助。
有什么想法吗?
答案1
如果你总是得到你自己证书,这通常意味着有一个杂散的 iptables NAT 规则将所有流量重定向到您自己的服务器。
检查iptables-save
并专门寻找-j DNAT
规则-j REDIRECT
。