nginx配置主域名和二级域名涉及以下几个方面:
1. DNS解析配置
- 主域名需在DNS服务商处设置A记录指向服务器IP
- 二级域名可通过CNAME记录指向主域名或单独设置A记录
- 泛域名解析可用`*.domain.com`的形式批量处理二级域名
2. nginx配置文件结构
- 推荐使用`/etc/nginx/conf.d/`目录下的独立文件管理不同域名
- 主配置文件`nginx.conf`应包含`include conf.d/*.conf`
- 每个域名建议单独创建.conf文件,例如:
server {
listen 80;
server_name domain.com;
...主域名配置...
}
server {
listen 80;
server_name sub.domain.com;
...二级域名配置...
}
3. SSL证书配置
- 主域名和二级域名可使用通配符证书(*.domain.com)
- 单独的二级域名建议申请单域名证书
- ACME客户端如certbot支持多域名证书自动续期
4. 常见场景配置
- 静态资源分离:二级域名static.domain.com专门托管静态文件
- API服务:api.domain.com独立配置跨域和限流策略
- 多语言站点:zh.domain.com和en.domain.com区分语言版本
5. 进阶配置技巧
- 使用map指令实现动态域名转发
- 通过$host变量实现条件逻辑判断
- 利用rewrite规则处理域名跳转
- 配置HTTP/2和HSTS增强安全性
6. 性能优化
- 为高频访问的二级域名单独配置缓存策略
- 不同子域名可绑定到不同upstream组
- 限制特定二级域名的连接数和请求频率
7. 日志管理
- 每个域名单独配置access_log和error_log
- 日志文件名包含域名标识便于分析
- 使用logrotate定时切割大体积日志
8. 安全防护
- 对admin.domain.com等敏感子域名设置IP白名单
- 防止域名绑定攻击:配置默认server返回444状态码
- 限制高风险子域名的HTTP方法
当配置完成后,建议使用nginx -t测试语法,并通过systemctl reload nginx平滑重启。多域名环境下要注意server_name的匹配优先级,完全匹配的域名优先级高于通配符匹配。
查看详情
查看详情