V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
0x1e240
V2EX  ›  问与答

如何单独为子域名启用 SSL,即使用 HTTPS 访问

  •  
  •   0x1e240 · 2014-12-07 02:55:45 +08:00 via Android · 17841 次点击
    这是一个创建于 3436 天前的主题,其中的信息可能已经有所发展或是发生改变。
    虚拟空间,限制建站数据,DA面板,所以子域名都在根域名下面。想为其中一个子域名单独添加SSL,根域名和其他子域名不要,即访问HTTPS会出错,只有HTTP可以正常访问。

    这个能够做到吗?

    另外,一个IP下有两三个根域名,在这个IP上配置一个SSL证书,让这几个根域名及其子域名都可以使用SSL。这种证书叫什么?
    17 条回复    2014-12-11 17:10:23 +08:00
    Starduster
        1
    Starduster  
       2014-12-07 03:09:51 +08:00   ❤️ 1
    只让一个二级域名使用 HTTPS 是可行的,至于不允许其他域名访问 HTTPS 写个rewrite规则转到 HTTP 就行,但是能不能在你虚拟主机上实现就看你服务商的限制如何了

    让所有二级域名都能使用的叫泛域名证书,一张证书支持多个不同的主域名似乎是叫多域名证书
    0x1e240
        2
    0x1e240  
    OP
       2014-12-07 03:27:11 +08:00 via Android
    @Starduster 要rewrite那必须得使用泛域名证书才行那,否则会因为证书与域名不匹配无法完成跳转。

    同时支持的叫什么?多域名泛域名证书?
    pierrec
        3
    pierrec  
       2014-12-07 03:29:36 +08:00
    nginx的话 应该是跟下面一样,你指的是根域名(没有www)?
    server {
    listen 80;
    server_name xxx.com ;
    root /xxx;
    index index.html index.htm index.php;
    ......
    }
    server {
    listen 443 ssl spdy;
    server_name a.com www.com b.com c.com
    .....
    }
    pierrec
        4
    pierrec  
       2014-12-07 03:30:41 +08:00
    对了 子域名也要监听80
    invite
        5
    invite  
       2014-12-07 10:54:14 +08:00
    1、直接给需要的子域名签发SSL证书,其他不签发。然后访问HTTPS的时候,浏览器就会告警了。
    2、应该叫多域名的泛域名证书?
    Showfom
        6
    Showfom  
       2014-12-07 10:54:56 +08:00 via iPhone
    @pierrecpen 谁说的。。。可以关掉80过滤一批小白用户哈哈
    xoxo
        7
    xoxo  
       2014-12-07 11:09:56 +08:00
    这下问题来了,

    泛域名SSL哪里强?
    V2EX找@xoxo 不含糖
    xoxo
        8
    xoxo  
       2014-12-07 11:11:56 +08:00
    额, 楼主的情况较特殊, 需要购买comodo的Multi-Domain-Wildcard SSL才行.
    建议楼主改变一下策略, 买此类证书价格远比你的IP年费要高,
    何不给每个根域单独申请IP呢?然后每个根域再配置Wildcard SSL
    0x1e240
        9
    0x1e240  
    OP
       2014-12-07 14:06:24 +08:00 via Android
    @pierrecpen
    虚拟空间做不了这些
    @invite
    就是不想要警告
    @xoxo
    Wildcard SSL也不便宜,你家都是5年卖的,我不需要那么长时间
    invite
        10
    invite  
       2014-12-08 18:34:50 +08:00
    @0x1e240 访问HTTPS会出错,你这个出错指的是什么?
    0x1e240
        11
    0x1e240  
    OP
       2014-12-08 18:59:20 +08:00 via Android
    @invite 就是不能访问。好比网站没开启SSL,你访问HTTPS会出现错误一样
    invite
        12
    invite  
       2014-12-09 09:00:34 +08:00
    @0x1e240 如果没开SSL,端口压根就不通,所以压根不会出现什么错误,只是浏览器自定义的连接不上的错误。
    0x1e240
        13
    0x1e240  
    OP
       2014-12-10 12:43:28 +08:00 via Android
    @invite 子域名要用SSL肯定得开端口啊
    invite
        14
    invite  
       2014-12-10 12:56:59 +08:00   ❤️ 1
    @0x1e240 那你这端口到底是开了还是没开?如果SSL开了,证书用了A域名的,你用B域名去访问,那必然报错啊。如果没开, 浏览器显示的就是端口不通。
    0x1e240
        15
    0x1e240  
    OP
       2014-12-10 15:23:38 +08:00 via Android
    @invite 开了,HTTP和HTTPS都可以访问。现在用泛域名证书,每个子域名单独用htaccess强制HTTP或是HTTPS,这样算是达到功能了。
    popu111
        16
    popu111  
       2014-12-11 07:55:02 +08:00
    木有独立ip么?即使开了sni那xp也不行吧?
    0x1e240
        17
    0x1e240  
    OP
       2014-12-11 17:10:23 +08:00 via Android
    @popu111 有IP的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2554 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:42 · PVG 21:42 · LAX 06:42 · JFK 09:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.