V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yuan93
V2EX  ›  SSL

已部署 SSL 的域名 CNAME 到另一个部署了 SSL 的域名,为什么会提示不安全?

  •  
  •   yuan93 · Dec 26, 2018 · 8099 views
    This topic created in 2679 days ago, the information mentioned may be changed or developed.

    提示如下: 此服务器无法证明它是 a.cn ;其安全证书来自*.b.com 。出现此问题的原因可能是配置有误或您的连接被拦截了。

    场景: a.cn 是老域名,b.com 是新域名,两个都有单独的 ssl 证书。 app 上的接口都是指向 a.cn ,我就把 a.cn CNAME 到 b.com ,然后 iOS 的 app 全部无法请求接口了

    Supplement 1  ·  Dec 27, 2018
    非常感谢各位大大的回复。

    现在的情况是 a.cn 没有控制权,他们只能 CNAME, 不能 301 到 b.com 这个域名

    在做不了 301 的情况下,还有其他方案吗?
    15 replies    2019-01-02 15:55:08 +08:00
    aa6563679
        1
    aa6563679  
       Dec 26, 2018 via iPhone   ❤️ 1
    因为 cname 不是 https,也就不能进行域名验证
    lhx2008
        2
    lhx2008  
       Dec 26, 2018 via Android   ❤️ 1
    cname 只是把你 b 的 IP 解析到 a 了
    你这种情况应该用 301
    heww
        3
    heww  
       Dec 26, 2018   ❤️ 1
    cname 是 dns 层面的东西,它告诉 dns server a.cn 的 dns 解析和 d.cn 是一样的。
    flowfire
        4
    flowfire  
       Dec 26, 2018 via Android
    ssl 证书是证明 a.cn 这个域名对应 a 这个 ip,b.com 这个域名对应 b 这个 ip,你把 a cname 到 b,用的是 b 的证书,浏览器发现,证书里写的 ip 是对的,域名是错的,就会报错
    heww
        5
    heww  
       Dec 26, 2018
    @flowfire 证书和 IP 没有关系吧
    yingfengi
        6
    yingfengi  
       Dec 26, 2018 via Android
    @flowfire ssl 证书不验证 IP
    MonoLogueChi
        7
    MonoLogueChi  
       Dec 27, 2018 via Android
    cname 是 DNS 方面的,你的配置是,告诉大家,a.com 指向 b.com 同一个服务器,你这里有两种方案,第一种是 a 反向代理 b,并且给 a 配置好域名。另一种方案是重写 host,跳转到 b。
    MonoLogueChi
        8
    MonoLogueChi  
       Dec 27, 2018 via Android
    @flowfire 证书验证域名不验证 IP,你通信用的是 a 的公钥,但是服务端部署的是 b 的私钥,这样证书就会出问题,和 IP 没有一毛钱的关系
    Rezark
        9
    Rezark  
       Dec 27, 2018
    如果 a.cnb.com 都有控制权,可以申请一张多域名的的证书包含这两个域名,在 b.com 的服务器上面部署,即可解决上面的问题。
    whileFalse
        10
    whileFalse  
       Dec 27, 2018   ❤️ 1
    * 在 B server 上同时部署 a 和 b 的 ssl 证书
    * 在 A server 上做反代
    flowfire
        11
    flowfire  
       Dec 27, 2018 via Android
    @MonoLogueChi 通信用的是 b 的公私钥,只是因为证书中记录的域名和使用的域名不相同,才会报错
    MonoLogueChi
        12
    MonoLogueChi  
       Dec 27, 2018
    @flowfire #11 你访问的域名是 a,怎么会用 b 的公钥呢,cname 只是域名解析,不是域名跳转
    flowfire
        13
    flowfire  
       Dec 27, 2018
    @MonoLogueChi #12 公私钥都是放在服务器上的,你访问的是 B 的服务器,用的就是 B 的公钥
    siteng
        14
    siteng  
       Dec 28, 2018 via Android
    b 服务器设置 a 请求 301 到 b 不行吗?
    keyfunc
        15
    keyfunc  
       Jan 2, 2019
    我怎么感觉楼主就一台服务器,2 个域名 2 张证书呢,你直接在一台服务器上加 2 张证书不就行了,不支持 SNI 的老客户端可能会报错,但现在基本很少。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3577 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 10:52 · PVG 18:52 · LAX 03:52 · JFK 06:52
    ♥ Do have faith in what you're doing.