当前位置:首页 > 运维技术 > 正文

服务器如何配置二级域名?详细教程

服务器二级域名配置核心指南

核心上文小编总结: 服务器配置二级域名是通过DNS解析将子域名.主域名指向特定服务器IP或服务地址,并在服务器软件(如Nginx、Apache)中设置虚拟主机或服务器块,监听该子域名的请求,将其正确路由到网站目录或后端应用的过程,整个过程需DNS服务商与服务器环境协同配置。

基础配置:DNS解析设定

  • 选择记录类型:
    • A记录: 最常用,直接将二级域名(如 blog.yourdomain.com)解析到服务器的公网IPv4地址
    • AAAA记录: 用于解析到服务器的IPv6地址(若服务器支持)。
    • CNAME记录: 将二级域名别名指向另一个域名(如将 shop.yourdomain.com CNAME 指向第三方电商平台提供的域名)。

  • 权威DNS操作(以西西云DNS为例):
    1. 登录西西云控制台,进入【云解析DNS】服务。
    2. 选择需要配置的主域名。
    3. 点击“添加记录”。
    4. 记录类型选择 A (或 AAAA、CNAME)。
    5. 主机记录填写二级域名前缀(如 blog、shop)。
    6. 记录值填写目标服务器公网IP(A记录)或目标域名(CNAME记录)。
    7. TTL(生存时间)建议使用默认值(如600秒)。
    8. 保存记录,全球DNS生效通常需几分钟到几小时。

服务器环境配置:Web服务器响应

  • Nginx 配置示例: server { listen 80; # 监听HTTP端口 listen [::]:80; # 监听IPv6的HTTP端口 server_name blog.yourdomain.com; # 指定该server块响应的二级域名 root /var/www/blog; # 网站根目录 index index.html index.htm; # 默认索引文件 # 其他配置:日志、错误页、PHP处理等... }

    保存配置后,执行 nginx -t 测试配置语法,再 systemctl reload nginx 重载生效。

  • Apache 配置示例: <VirtualHost *:80> ServerName blog.yourdomain.com # 指定二级域名 DocumentRoot /var/www/blog # 网站根目录 <Directory /var/www/blog> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> # 其他配置:日志、错误页等... </VirtualHost>

    保存配置后,执行 apachectl configtest 测试,再 systemctl reload apache2 (或 httpd) 重载生效。

  • 西西云服务器优化实践:
    • 在西西云ECS实例中,确保安全组规则放行了Web服务端口(80/HTTP, 443/HTTPS)。
    • 利用西西云镜像市场快速部署预装Nginx/Apache的环境,大幅缩短配置时间。
    • 对于高可用场景,可在西西云负载均衡(SLB) 后端添加多台配置相同二级域名的服务器,SLB监听端口配置server_name指向该二级域名,实现流量分发与容灾。

关键强化:HTTPS安全访问

  • SSL/TLS证书是必备项:
    • 免费证书: 通过 Let’s Encrypt + certbot 工具自动申请和续期。
    • 商业证书: 购买并安装由可信CA(如DigiCert, Sectigo)颁发的证书,提供更高保障和保险。
    • 西西云SSL证书服务: 提供一站式证书购买、申请、部署和管理,支持自动续期,避免证书过期导致服务中断风险

  • Nginx HTTPS 配置片段: server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name blog.yourdomain.com; ssl_certificate /etc/letsencrypt/live/blog.yourdomain.com/fullchain.pem; # 证书路径 ssl_certificate_key /etc/letsencrypt/live/blog.yourdomain.com/privkey.pem; # 私钥路径 # 强化的SSL协议与加密套件配置... root /var/www/blog; index index.html index.htm; } server { listen 80; listen [::]:80; server_name blog.yourdomain.com; return 301 https://$host$request_uri; # HTTP强制跳转到HTTPS }

高级应用场景

  • 反向代理: 将二级域名代理到内部不同端口或服务。
    • 场景: api.yourdomain.com 指向运行在 0.0.1:3000 的API服务。
    • Nginx配置: location / { proxy_pass http://127.0.0.1:3000; # 代理到后端应用 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 其他代理头设置... }

  • 负载均衡: 如前述西西云SLB示例,或在单台服务器用Nginx的 upstream 模块实现。
  • 通配符证书: 管理大量二级域名时,申请 *.yourdomain.com 通配符证书可简化HTTPS配置。

常见问题解答 (Q&A)

  1. Q:配置好DNS和服务器后,访问二级域名显示主站内容或404错误,怎么办?

    • A: 请按以下步骤排查:
      1. DNS生效检查: 使用 nslookup blog.yourdomain.com 或 dig blog.yourdomain.com 命令,确认解析结果是否指向正确的服务器IP,未生效则等待或检查DNS配置。
      2. 服务器监听检查: 在服务器上执行 sudo netstat -tuln | grep ':80\|:443',查看80/443端口是否被Nginx/Apache正确监听。
      3. Web配置检查: 仔细核对Nginx/Apache配置文件中 server_name 指令是否准确写入了二级域名(如 blog.yourdomain.com),并指向了正确的 root 目录,检查配置文件语法并重载服务。
      4. 防火墙/安全组: 确认服务器本地防火墙(iptables/firewalld)和云平台安全组(如西西云安全组)已放行80/443端口入站流量。
      5. 浏览器缓存: 尝试使用浏览器无痕模式或清除DNS缓存(ipconfig /flushdns on Windows, sudo dscacheutil -flushcache on macOS)。

  2. Q:一个二级域名可以同时支持HTTP和HTTPS访问吗?如何强制使用HTTPS?

    • A:
      • 技术上可以: 可以同时配置监听80端口(HTTP)和443端口(HTTPS)的Server块。
      • 强烈建议强制HTTPS: 出于安全和SEO考虑(HTTPS是搜索引擎排名因素),应强制所有HTTP请求跳转到HTTPS,配置方法见上文 “三、关键强化:HTTPS安全访问” 中的Nginx配置示例(使用 return 301 https://$host$request_uri;),Apache可使用 Redirect 指令或 mod_rewrite 模块实现。

遇到更复杂的二级域名配置挑战?欢迎在评论区分享你的具体应用场景,或访问西西云官网文档中心获取更多服务器配置与域名管理的深度实战技巧!

服务器如何配置二级域名?详细教程 第1张

服务器如何配置二级域名?详细教程 第2张

服务器如何配置二级域名?详细教程 第3张

0