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

Apache技术求助:禁用非预期可访问的w.site.com、ww.site.com子域名

找到w.site.com和ww.site.com配置位置的排查步骤

兄弟,我懂你现在的困惑——这俩域名能正常访问,但翻遍sites-available的配置文件都找不到对应ServerName/ServerAlias,咱们一步步来挖:

1. 先查Apache全局配置

Ubuntu上的Apache除了虚拟主机的.conf文件,全局配置里也可能藏着别名:

  • 打开/etc/apache2/apache2.conf,搜一搜有没有ServerAlias或者针对w.*/ww.*的规则
  • 瞅瞅/etc/apache2/conf-available/目录下的所有文件,有些全局别名会单独放在这里

2. 确认所有启用的虚拟主机

有时候sites-enabled里的软链接指向的配置文件你可能没注意到,先跑这个命令列全所有生效的虚拟主机:

ls -l /etc/apache2/sites-enabled/

每个软链接都对应sites-available里的源文件,挨个打开看看,说不定w和ww的别名就藏在某个你漏看的启用配置里。

3. 检查默认虚拟主机

如果没有匹配的域名配置,Apache会把请求扔给默认虚拟主机处理。默认主机一般是000-default.conf,或者是第一个加载的虚拟主机:

  • 打开/etc/apache2/sites-available/000-default.conf看看有没有相关设置
  • 另外你可以对比下w.site.com访问的内容和site.dk的内容是不是一样——如果一样,那大概率这俩域名没单独配置,是默认主机(或者你的site.dk配置因为加载顺序成了默认主机)在处理它们的请求。

4. 用Apache命令直接看运行时配置

这是最直接的方法!跑这个命令导出当前Apache生效的所有配置:

apache2ctl -S

输出里会清清楚楚显示每个域名对应的虚拟主机、ServerName/ServerAlias,还有对应的配置文件路径——直接就能定位到这俩域名的配置在哪!

5. 别忘了Virtualmin面板的配置

从你的日志路径/var/log/virtualmin/来看,这台服务器用了Virtualmin管理面板,那登录面板看看:

  • 打开site.dk的虚拟主机设置,瞧瞧有没有在面板里偷偷加了w.site.com和ww.site.com作为别名(面板有时候会生成额外的配置片段,不会直接写到你手动看的.conf里)
  • 检查面板的全局域名规则,有没有自动添加短前缀别名的设置

最后,要是找到了配置位置,修改完记得重启Apache生效:

systemctl restart apache2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:07:31