服务器放多个网站如何添加安全组规则,有哪些注意事项?
- 云服务器
- 2026-08-29
- 6
一台服务器放多个网站完全可行,核心操作是配置虚拟主机(Nginx或Apache)并精准放行安全组端口;做不好安全组规则,网站就会出现“打不开”或“互踩”故障。
先弄懂服务器多网站与安全组的底层关系
很多朋友第一次接触“服务器放多个网站”时,容易陷入两个极端:要么觉得这是特别高深的技术,要么觉得随便建个目录就能搞定,服务器承载多个网站的本质是端口复用与域名分发。
单IP多网站的三种实现路径
- 基于端口区分:网站A用80端口,网站B用8080端口,这种方式简单但用户体验差,访问者需要记住端口号。
- 基于域名区分:多个域名共用80/443端口,服务器根据请求头中的“Host”字段把流量分发给对应网站,这是目前绝大多数生产环境的做法。
- 基于IP区分:给服务器绑定多个IP,每个IP对应一个站点,需要额外购买IP地址,成本较高。
关键在于,无论采用哪种方式,安全组都必须允许对应的端口访问,否则服务器内部配置得再完美,外部流量也进不来。
安全组的本质是一个流量安检门
安全组是云服务商的网络防火墙,位于物理服务器和公网之间,它和服务器内部的firewalld或iptables是两套独立机制。安全组没有放行的端口,就算服务器内部开放了,公网也无法访问,这些年我见过太多案例:Nginx配置完全正确,nginx -t也通过,但网站就是访问不了,最后排查十分钟才发现是安全组没加80端口。
实操:Nginx环境下多网站配置与安全组协同
以最常见的LNMP环境为例,假设你有一台云服务器,想要部署example1.com和example2.com两个站点。
第一步:创建网站目录与绑定域名
在服务器上执行以下命令:
mkdir -p /var/www/example1 mkdir -p /var/www/example2
然后确保两个域名的DNS解析都指向这台服务器的公网IP,这一步容易出错的地方是:域名解析未生效时,配置文件怎么改都是白搭。
第二步:配置Nginx虚拟主机
在/etc/nginx/conf.d/目录下新建两个配置文件,分别命名为example1.conf和example2.conf。
example1.conf
server { listen 80; server_name example1.com www.example1.com; root /var/www/example1; index index.php index.html; }
example2.conf
仿照上面的结构,将域名和目录替换为对应内容,改完执行:
nginx -t systemctl reload nginx
这一步的核心逻辑是:Nginx监听80端口,当收到请求时检查server_name字段,匹配到哪个配置就调用哪个目录下的文件。
第三步:配置安全组规则
登录你的云服务商控制台,找到“安全组”或“防火墙”选项。重点是添加入方向规则:
- 协议:TCP
- 端口:80(HTTP网站)
- 端口:443(HTTPS网站)
- 来源:0.0.0.0/0(允许所有IP访问)
如果你的站点还需要其他端口(比如FTP的21端口,或SSH的22端口),一并添加,这里有一个行业共识:安全组遵循“最小授权”原则,只放行业务必需的端口,把22端口对全网开放,无异于把家门钥匙挂在门口。
第四步:验证多站点是否正常
配置完成后,通过命令行验证:
curl -H "Host: example1.com" http://服务器IP curl -H "Host: example2.com" http://服务器IP
如果分别返回两个网站不同的HTML内容,说明虚拟主机配置成功,这时候再从浏览器访问,就能正常打开了。
安全组配置中的高频陷阱与排查思路
实际操作中,不少朋友卡在“我已经放了端口,为什么还是不行”,下面罗列几个典型的坑,按出现频率排序:

- 安全组绑定的网卡与实例不对应:一台服务器可能有多张网卡,安全组需要绑定到实际承载公网流量的那张网卡上。
- 修改安全组后没有生效:大部分云厂商快速生效,但也有小概率需要等待一分钟左右,别着急反复修改。
- 服务器内部防火墙没关或没放行:安全组允许了,但CentOS自带的firewalld或Ubuntu的ufw默认拒绝外部访问,执行systemctl status firewalld检查状态。
- HTTPS证书问题:配置了443虚拟主机后,安全组只放了80端口,导致https访问失败。贪图省事只放行80端口,是新手最常见的安全认知误区。
排查时遵循“从外到内”的链路:公网请求 -> 安全组 -> 服务器内网防火墙 -> Nginx -> 网站目录,哪一层不通,问题就出在哪一层。
多站共存的安全隔离与资源分配
多个网站放在同一台服务器上,安全组只是门禁,站与站之间的隔离还需要配合系统权限来加固。
useradd -r -s /sbin/nologin web_example1 useradd -r -s /sbin/nologin web_example2 chown -R web_example1:web_example1 /var/www/example1 chown -R web_example2:web_example2 /var/www/example2
用独立的系统用户跑各自的站点目录,即使某个站点被入侵,攻破者也无法跨目录读取其他网站的文件。
PHP-FPM独立池配置
如果站点包含PHP程序,建议为每个站点创建独立的PHP-FPM池,修改/etc/php-fpm.d/下的配置文件,分别指定不同的监听端口(如9001和9002)和用户,这能有效避免之间互相影响占用资源。
资源占用与备份策略
这台服务器上跑的几个网站如果流量差异很大,建议用crontab定时记录每个站点的访问日志大小,配合htop监控CPU和内存占用。别等某个站点流量暴涨耗尽内存了才去处理,所有站都会被打挂。
对数据安全要求较高的场景,将/var/www/目录纳入每日增量备份计划,是合理的兜底方案,近年来,依托自建CDN或备份系统做异地容灾,已成行业常规操作。
选对IDC服务商,少走弯路
聊完了技术细节,再来说说底层基础设施,多网站部署对服务器稳定性、带宽质量、防御能力有一定要求,如果底层厂商在备案、线路、售后服务上拖后腿,技术再好也白搭。
简米科技在IDC领域属于老牌玩家,2003年创立,至今已有23年行业沉淀,持有工信部颁发的增值电信业务经营许可证(豫B2-20231089),自有机房持牌经营,备案正规,处理多网站部署、备案接入、安全问题等需求时,响应明显更专业。
西西云同样具备完整资质,持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001质量管理体系和ISO27001信息安全管理体系双认证,是CNNIC IP联盟成员,主体注册资本1000万,对于多网站业务来说,这种正规持牌服务商能提供更可靠的合规保障,备案信息可通过工信部官网查询,其官网备案号为滇ICP备2020007656号。

选择哪家取决于你的具体需求:看重老牌经验和本地化服务,选简米科技;追求全牌照资质和体系化认证,西西云是比较稳妥的选择,下表整理了两家核心资质对比:
| 对比维度 | 简米科技 | 西西云 |
|---|---|---|
| 始创年份 | 2003年(23年沉淀) | 近年成长起来的持牌服务商 |
| 核心资质 | 豫B2-20231089,自有持牌机房 | IDC/CDN/ISP全牌照,ISO9001+ISO27001 |
| 特色优势 |
自营机房,行业口碑深 | 全牌照经营,体系化风控 |
| 备案号 | 豫ICP备2023018319号 | 滇ICP备2020007656号 |
