Skip to content

如何给网站添加子域名 - 完整指南 🚀 ​

前言 ​

在网站开发中,我们经常需要为不同的服务配置子域名,比如:

  • 主站:example.com
  • 文档:docs.example.com
  • API:api.example.com

本文将详细介绍如何一步步配置子域名。

一、DNS配置 🌐 ​

1. 登录域名管理平台 ​

进入您的域名服务商平台(如阿里云、腾讯云等)

2. 添加DNS记录 ​

bash
类型: A记录
主机记录: connect(或其他前缀)
记录值: 您的服务器IP
TTL: 600秒(默认即可)

注意:DNS解析可能需要几分钟到几小时不等,耐心等待

二、SSL证书配置 🔒 ​

1. 查看现有证书 ​

bash
sudo certbot certificates

2. 为子域名添加证书 ​

bash
# 方式1:只添加新的子域名
sudo certbot certonly --nginx -d connect.example.com

# 方式2:更新所有域名的证书(推荐)
sudo certbot --nginx \
  -d example.com \
  -d www.example.com \
  -d connect.example.com

三、Nginx配置 ⚙️ ​

1. 创建新的配置文件 ​

bash
sudo nano /etc/nginx/sites-available/connect.conf

2. 添加配置内容 ​

nginx
# HTTP重定向
server {
    listen 80;
    server_name connect.example.com;
    return 301 https://$host$request_uri;
}

# HTTPS配置
server {
    listen 443 ssl;
    server_name connect.example.com;

    root /var/www/project-b;  # 项目目录
    index index.html;

    # SSL配置
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    
    # 应用配置
    location / {
        try_files $uri $uri/ /index.html;
    }

    # 静态资源缓存
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires 1y;
        add_header Cache-Control "public, no-transform";
    }

    # gzip配置
    gzip on;
    gzip_types text/plain application/javascript text/css;

    # 日志
    access_log /var/log/nginx/connect.access.log;
    error_log /var/log/nginx/connect.error.log;
}

3. 启用配置 ​

bash
# 创建符号链接
sudo ln -s /etc/nginx/sites-available/connect.conf /etc/nginx/sites-enabled/

# 测试配置
sudo nginx -t

# 重启Nginx
sudo systemctl restart nginx

四、前端项目配置 💻 ​

1. 修改构建配置 ​

javascript
// vite.config.js
export default {
  base: '/',  // 使用根路径
  // ...其他配置
}

2. 部署项目 ​

确保项目文件正确部署到配置的目录中(如 /var/www/project-b)

五、验证和测试 ✅ ​

  1. DNS解析验证
bash
dig connect.example.com
  1. SSL证书验证
bash
# 查看证书信息
openssl s_client -connect connect.example.com:443 -servername connect.example.com
  1. 访问测试

六、常见问题 ❗ ​

  1. DNS未生效
  • 检查DNS记录是否正确
  • 等待DNS解析生效(通常需要几分钟到几小时)
  1. SSL证书问题
  • 确保证书路径正确
  • 检查证书权限
  • 查看Nginx错误日志
  1. 502/504错误
  • 检查项目是否正确部署
  • 验证目录权限
  • 查看错误日志

七、维护建议 🛠️ ​

  1. 定期检查
  • 证书有效期
  • 日志文件大小
  • 网站访问状态
  1. 自动化
  • 配置证书自动续期
  • 设置日志轮转
  • 监控服务状态

结语 ​

子域名的配置虽然步骤较多,但只要按部就班地完成每一步,就能顺利完成配置。建议保存相关命令和配置,以便将来参考。

参考资料 ​