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

如何在Ubuntu的Apache2服务器上配置子域名共享主域名SSL证书

最简配置Apache2子域名共享主域名SSL证书(Ubuntu系统)

前提确认

  • 已创建/var/www/privacy目录
  • privacy.example.com的DNS解析已生效
  • 主域名example.com的SSL证书支持该子域名(通配符证书*.example.com或包含privacy.example.com的SAN证书)

步骤1:配置HTTP端口(80)重定向

编辑/etc/apache2/sites-available/000-default.conf,在现有<VirtualHost>块下方添加以下配置:

<VirtualHost *:80>
    ServerName privacy.example.com
    Redirect permanent / https://privacy.example.com
    ErrorLog ${APACHE_LOG_DIR}/privacy-error.log
    CustomLog ${APACHE_LOG_DIR}/privacy-access.log combined
</VirtualHost>

步骤2:配置HTTPS端口(443)子域名站点

编辑/etc/apache2/sites-available/example.com-ssl.conf,在现有<VirtualHost>块下方添加以下配置(直接复用主域名的SSL证书文件):

<VirtualHost *:443>
    Protocols h2 http/1.1
    ServerName privacy.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/privacy      
    SSLEngine on
    SSLCertificateFile /etc/ssl/example.com.crt
    SSLCertificateKeyFile /etc/ssl/example.com.key
    SSLCertificateChainFile /etc/ssl/example.com.ca-bundle
    ErrorLog ${APACHE_LOG_DIR}/privacy-error.log
    CustomLog ${APACHE_LOG_DIR}/privacy-access.log combined
</VirtualHost>

步骤3:验证配置并重启Apache

  1. 检查配置语法是否正确:
apache2ctl configtest
  1. 若输出Syntax OK,重启Apache服务:
systemctl restart apache2

说明

这种方式直接在现有配置文件中扩展,无需新建独立配置文件,利用Apache的NameVirtualHost特性,通过ServerName区分不同站点,同时复用主域名的SSL证书(只要证书覆盖该子域名即可),是最简洁的实现方式。

内容的提问来源于stack exchange,提问作者Pro Girl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:35:02