如何在同一个 IP 上配置多个 HTTPS 主机? - V2EX
niaoren
V2EX    SSL

如何在同一个 IP 上配置多个 HTTPS 主机?

  •  
  •   niaoren 2016-09-23 18:48:20 +08:00 2953 次点击
    这是一个创建于 3361 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最古老的也是最稳定的解决方法就是每个 HTTPS 主机使用不同的 IP 地址,但是要多买服务器。

    另外是 TLS 协议的 SNI 扩展,但是有些浏览器不支持 Android 2.3.7 和 IE 6 / XP 和 IE 8 / XP

    还有什么好办法吗?

    http://www.cnblogs.com/davidwang456/p/3428261.html

    http://www.ttlsa.com/web/multiple-https-host-nginx-with-a-ip-configuration/

    15 条回复    2016-11-10 23:19:11 +08:00
    3dwelcome
        1
    3dwelcome  
       2016-09-23 19:34:54 +08:00 via Android
    把 ssl 当成一个透明代理、连普通的 http 服务器、直接用最传统的 host http 头判断就行了。也不需要 sni
    gamexg
        2
    gamexg  
       2016-09-23 19:44:29 +08:00 via Android
    多域名单证书
    clino
        3
    clino  
       2016-09-23 19:46:29 +08:00 via Android
    用 nginx 什么的不是能轻松搞定吗
    jasontse
        4
    jasontse  
       2016-09-23 19:48:27 +08:00 via iPad
    要么买野卡,要么买 IP ,自己选一个。
    choury
        5
    choury  
       2016-09-23 20:11:40 +08:00
    @3dwelcome 握手阶段就需要发送证书,而握手的时候 http 头还没有发送,请问怎么判断?
    popu111
        6
    popu111  
       2016-09-23 20:15:25 +08:00 via Android
    为何还要管 ie6 和安卓 2.3 ,早该去死了_(:з」∠)_
    现在大多数网站用 IE6 都看不了,我不相信还有人会坚持,起码都用套壳了
    3dwelcome
        7
    3dwelcome  
       2016-09-23 21:18:54 +08:00 via Android
    握手证书可以多域名签发的、这个不用担心。
    alect
        8
    alect  
       2016-09-23 22:15:32 +08:00
    可以考虑用 startssl 或者 wosign 的免费证书签发多域名证书,目前 startssl 可以签发 10 个域名, wosign 可以签发 20 个域名,但是这两个证书的兼容性在这些系统下估计会有问题。如果有证书强迫症的话估计也可以跳过。
    lslqtz
        9
    lslqtz  
       2016-09-23 22:34:28 +08:00
    @3dwelcome 多域名签发后还判断个毛
    lslqtz
        10
    lslqtz  
       2016-09-23 22:35:21 +08:00
    不建议使用 startssl 和 wosign ,建议用 le ,可以签发 100 个
    niaoren
        11
    niaoren  
    OP
       2016-09-25 07:43:04 +08:00 via iPhone
    基于名字的 HTTPS 主机

    如果在同一个 IP 上配置多个 HTTPS 主机,会出现一个很普遍的问题:
    server {
    listen 443;
    server_name www.example.com;
    ssl on;
    ssl_certificate www.example.com.crt;
    ...
    }

    server {
    listen 443;
    server_name www.example.org;
    ssl on;
    ssl_certificate www.example.org.crt;
    ...
    }
    使用上面的配置,不论浏览器请求哪个主机,都只会收到默认主机 www.example.com 的证书。这是由 SSL 协议本身的行为引起的先建立 SSL 连接,再发送 HTTP 请求,所以 nginx 建立 SSL 连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。
    niaoren
        12
    niaoren  
    OP
       2016-09-25 07:46:54 +08:00 via iPhone
    @popu111 还有一部分 Xp , IE8
    niaoren
        13
    niaoren  
    OP
       2016-09-25 07:50:22 +08:00 via iPhone
    @clino nginx 的 SNI 扩展 有些浏览器不支持
    msg7086
        14
    msg7086  
       2016-09-27 03:40:33 +08:00
    这问题就是这样,没别的选择,要么买 IP 要么 SNI 要么 SAN 证书。
    talas
        15
    talas  
       2016-11-10 23:19:11 +08:00
    gnutls 可以支持
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2031 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:53 PVG 08:53 LAX 16:53 JFK 19:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86