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

关于浏览器信任证书的问题

  •  
  •   klo424 · 2023-05-24 18:30:10 +08:00 · 1601 次点击
    这是一个创建于 583 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做了一个网站,要部署到客户内部局域网网络,页面和接口都是使用 https 协议的。

    问题是用户首次打开网站的时候,会显示证书不受信任,并且要点击高级,再点击继续访问,才能打开页面。然而让每个用户都去点一遍实在影响用户体验,客户也不会认同。

    现在想跳过点击高级再点击继续访问这一步骤,实现输入 ip 地址即可直接访问网站。

    查了很久,貌似无法跳过这一步,自签证书就是不受信任的。

    有什么办法可以解决吗?

    第 1 条附言  ·  2023-05-25 08:29:05 +08:00
    认证看了大家的回复,提供的解决方案相比用户点两下还是要复杂一些。我们公司是提供软件服务的,客户都比较强势,基本不会配合,所以只能自己去解决,这个问题我觉得没办法解决了,还是让用户点两下吧。
    30 条回复    2023-05-25 10:58:39 +08:00
    id7368
        1
    id7368  
       2023-05-24 18:32:03 +08:00 via iPhone
    做个证书让他们 it 批量添加到受信根证书里
    virusdefender
        2
    virusdefender  
       2023-05-24 18:32:56 +08:00
    无解,除非加根证书
    klo424
        3
    klo424  
    OP
       2023-05-24 18:33:18 +08:00
    @id7368 #1 具体是怎么搞?能展开讲讲吗?
    RiverMud
        4
    RiverMud  
       2023-05-24 18:34:42 +08:00 via iPhone
    引导客户装下证书呢?像 12306 那样。
    klo424
        5
    klo424  
    OP
       2023-05-24 18:38:39 +08:00
    @RiverMud #4 12306 有证书呀。刚试了一下也没引导啊?
    miyuki
        6
    miyuki  
       2023-05-24 18:50:12 +08:00 via iPhone
    就是手动把证书加到系统的受信任证书列表
    miyuki
        7
    miyuki  
       2023-05-24 18:50:36 +08:00 via iPhone
    最早 12306 网站就是搞了个所谓的自签名证书
    serialt
        8
    serialt  
       2023-05-24 18:51:27 +08:00 via Android
    chrome 走的是系统证书,firefox 走的是浏览器内置证书
    klo424
        9
    klo424  
    OP
       2023-05-24 18:57:24 +08:00
    @miyuki #6 那还是难办,比点击两下按钮要麻烦的多。
    billlee
        10
    billlee  
       2023-05-24 19:10:27 +08:00
    局域网也可以配置域名然后找 CA 签发真证书。
    klo424
        11
    klo424  
    OP
       2023-05-24 19:17:26 +08:00
    @billlee #10 可以在我网站同一台服务器上建一个 DNS 服务解析域名吗?
    Nile20
        12
    Nile20  
       2023-05-24 19:17:29 +08:00 via Android
    找支持的 CA 申请一个基于 IP 地址的证书。印象中 ZeroSSL 有免费的,但是不确定是否可长期使用&有商业支持
    mxT52CRuqR6o5
        13
    mxT52CRuqR6o5  
       2023-05-24 19:20:41 +08:00
    花钱注册个域名用域名买个有效期长点的证书,在内网部署时把网站配置成这个域名
    klo424
        14
    klo424  
    OP
       2023-05-24 19:21:31 +08:00
    @Nile20 #12 只能免费用 3 个月,相比点两下浏览器还是麻烦一下。
    Nile20
        15
    Nile20  
       2023-05-24 19:21:59 +08:00 via Android   ❤️ 1
    不好意思没注意是局域网。局域网 IP 段我不确定能不能申请,恐怕很难。想到两种方法,一种可以申请一个普通的泛域名证书,在公司内的 DNS 将业务域名解析到内网 ip 地址。另外一种是生成自签名证书,让 IT 通过组策略推送给所有电脑
    bobryjosin
        16
    bobryjosin  
       2023-05-24 19:22:19 +08:00 via Android
    通过 dns 申请域名证书,再把 dns 劫持到内网地址就可以实现 https 了,我就是这么干的。
    klo424
        17
    klo424  
    OP
       2023-05-24 19:22:49 +08:00
    @mxT52CRuqR6o5 #13 域名解析也得在内网,DNS 服务可以部署到同一台服务器解析域名吗?
    mxT52CRuqR6o5
        18
    mxT52CRuqR6o5  
       2023-05-24 19:24:46 +08:00
    @klo424
    只能说理论上这种内网系统应该有地方可以配置 dns 解析,具体实践的话就不清楚了
    我提这个方案主要是因为域名证书比较容易获得
    klo424
        19
    klo424  
    OP
       2023-05-24 19:24:56 +08:00
    @bobryjosin #16 能展开讲讲么?具体怎么劫持?我真是不太懂这一块。
    miyuki
        20
    miyuki  
       2023-05-24 19:25:02 +08:00   ❤️ 1
    @klo424

    总结一下

    1. 使用真的域名,正常申请到的真域名证书,然后 DNS 解析到局域网地址
    2. 正常申请为 IP 签发的证书( OV ?),然后客户机直接 https://ip 地址
    3. 使用自签证书( CA ),然后手动加到客户机系统信任证书列表
    4. 使用自签证书( CA ),通过 IT 管理员(域)下发证书( CA )
    miyuki
        21
    miyuki  
       2023-05-24 19:26:32 +08:00
    @miyuki

    前两个方案或多或少需要客户机能上网,如果不能上网就要维护内网 DNS 或者 Hosts 。(不确定客户机长期没联网,对这些“合法”证书的使用是否会有影响?)
    bobryjosin
        22
    bobryjosin  
       2023-05-24 19:27:22 +08:00 via Android
    klo424
        23
    klo424  
    OP
       2023-05-24 19:27:33 +08:00
    @miyuki #20 1. 局域网使用,默认是不需要连接公网的,怎么去搞 DNS 在本地解析呢?
    billlee
        24
    billlee  
       2023-05-24 19:28:12 +08:00
    如果客户本来就有 DNS 服务器或域控,那最好就用现成的。没有的话,新搭建搭一台,就也要通过 DHCP 或者劫持的方式来下发配置了,这个时候你可能就还要考虑可用性的问题了。
    bobryjosin
        25
    bobryjosin  
       2023-05-24 19:29:51 +08:00 via Android
    @klo424 如果公司内网有审计设备可以在审计设备上设置规则把解析指向内网,或者将客户端 dns 指向内网的一台服务器,在内网 dns 服务器上设置 dns 重写,证书续期用脚本定期续一下就可以了
    mango88
        26
    mango88  
       2023-05-24 19:47:08 +08:00
    把网页打包成一个应用给客户 (狗头
    IvanLi127
        27
    IvanLi127  
       2023-05-24 23:13:21 +08:00 via Android
    他们公司没 it 吗?没 it 就多点两下就多点两下,有 it 就让他们 it 下发根证书到每个设备上,信任了就不会提示不安全了。
    另外,没必要猜客户的心思,他们愿意花钱找你们解决你们再解决呗。
    yinmin
        28
    yinmin  
       2023-05-25 00:33:08 +08:00
    用 digicert 的 SSL 证书啊,这个根证书是默认内置在 windows 里的
    lovelylain
        29
    lovelylain  
       2023-05-25 08:37:03 +08:00 via Android
    免费证书,acme.sh 自动续签;或者公司有入网标准化程序的话,在这个程序里自动安装根证书;没有就写个指引让用户手动安装;啥都不想就忍吧。
    miaomiao888
        30
    miaomiao888  
       2023-05-25 10:58:39 +08:00
    说到证书安全就想到 360 浏览器,它默认就是允许访问不安全的链接,也没有安全提示。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2045 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 00:33 · PVG 08:33 · LAX 16:33 · JFK 19:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.