You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Active Directory环境下为Ubuntu Apache内网站点生成可被Windows客户端信任的SSL证书相关咨询

Active Directory环境下为Ubuntu Apache内网站点生成可被Windows客户端信任的SSL证书相关咨询

嘿,针对你在Active Directory环境里给Ubuntu上的Apache内网站点配置SSL证书的几个问题,我给你拆解清楚,都是域环境里常用的实操方案:

一、怎么生成符合要求的SSL证书?

在AD域环境里,**最优解是用Active Directory证书服务(AD CS)**来签发证书,比自签证书省心太多,步骤如下:

  1. 先确认你的AD域里已经部署了企业级CA(如果还没装,直接在域控制器上添加AD CS角色,选择「企业CA」类型就行,按向导走很简单)
  2. 回到Ubuntu服务器,用openssl生成证书签名请求(CSR):
    • 生成私钥文件:openssl genrsa -out intranet.mydomain.local.key 2048
    • 生成CSR文件:openssl req -new -key intranet.mydomain.local.key -out intranet.mydomain.local.csr
      这里要注意:Common Name(CN)必须填intranet.mydomain.local,其他字段(比如组织名、部门)要和AD域的信息对应上,别乱填
  3. 把生成的intranet.mydomain.local.csr传到能访问AD CA的机器上,打开AD CA的网页控制台(一般是http://<你的CA服务器域名>/certsrv),选「申请证书」→「高级证书申请」→「提交一个用base64编码的证书申请文件」,把CSR内容粘进去,证书模板选「Web服务器」
  4. 提交后,企业CA一般会自动审批,之后下载Base64编码的服务器证书(.cer格式),同时别忘了下载AD CA的根证书(后续可能用得上)
  5. 把下载的服务器证书、根证书和之前在Ubuntu上生成的私钥,统一放到Ubuntu的SSL目录下,比如/etc/apache2/ssl/

如果暂时没条件部署AD CS,也可以用自签证书,但后续让客户端信任会麻烦很多,所以优先推荐AD CS方案。

二、怎么让AD客户端自动信任这个证书?

这就是用AD CS的最大优势!

  • 当你部署AD企业CA时,根证书会通过Active Directory组策略自动推送到所有域内Windows客户端的「受信任根证书颁发机构」存储里——只要客户端是域成员,默认就会自动同步,不用手动配置
  • 你生成的网站证书是由这个被信任的根CA签发的,所以所有域内Windows客户端访问intranet.mydomain.local时,会自动认可证书的合法性,不会弹出讨厌的证书警告
  • 要是用自签证书,你就得手动通过组策略把自签的根证书推到所有客户端的信任存储,步骤繁琐,完全没AD CS省心

三、是不是要在AD上生成证书再导入Ubuntu?

没错!核心流程就是在AD侧通过AD CS签发网站证书,然后把签发好的证书文件导入到Ubuntu的Apache服务器上,最后还要配置Apache启用SSL,补充下配置步骤:

  1. 编辑Apache的SSL站点配置文件,比如/etc/apache2/sites-available/intranet-ssl.conf,添加以下配置:
    <VirtualHost *:443>
        ServerName intranet.mydomain.local
        DocumentRoot /var/www/intranet
    
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/intranet.mydomain.local.crt
        SSLCertificateKeyFile /etc/apache2/ssl/intranet.mydomain.local.key
        SSLCACertificateFile /etc/apache2/ssl/AD-Root-CA.crt  # 可选,某些场景下需要指定根CA
    </VirtualHost>
    
  2. 启用SSL模块和站点,重启Apache:
    a2enmod ssl
    a2ensite intranet-ssl.conf
    systemctl restart apache2
    
  3. 验证配置是否正确:apache2ctl configtest,如果输出Syntax OK就没问题了

备注:内容来源于stack exchange,提问作者mardon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:24:30