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

Ubuntu下Apache2+Mono部署多站点出现404错误已解决

解决Apache2+Mono多站点404问题

针对你在VPS上添加第二个<web-application>后双站点均报404的问题,按以下步骤排查修复:

1. 检查asp.net.webapp配置格式

确保每个站点的配置节点唯一且参数匹配,示例如下:

<apps>
  <web-application>
    <name>ExampleSite1</name> <!-- 必须是全局唯一名称,不能重复 -->
    <vpath>/</vpath> <!-- 站点根路径,一般设为/ -->
    <path>/var/www/Example</path> <!-- 对应Apache的DocumentRoot路径 -->
    <vhost>www.example.com</vhost> <!-- 精准匹配Apache VirtualHost的ServerName -->
  </web-application>
  <web-application>
    <name>ExampleSite2</name>
    <vpath>/</vpath>
    <path>/var/www/Example2</path>
    <vhost>www.example2.com</vhost>
  </web-application>
</apps>
  • <name>字段是Mono区分站点的核心标识,绝对不能重复
  • <vhost>必须与对应Apache站点的ServerName完全一致,否则Mono无法正确路由请求

2. 禁用Apache的Mono自动应用功能

在每个VirtualHost配置块内添加MonoAutoApplication disabled,避免自动生成的应用与手动配置的web-application冲突:

<VirtualHost *:443>
ServerName www.example.com
ServerAlias Example.com
DocumentRoot /var/www/Example
MonoAutoApplication disabled <!-- 新增这一行 -->
<Directory /var/www/Example/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    SetHandler mono
    DirectoryIndex index.aspx index.html Default.aspx
</Directory>
<!-- 其余SSL、日志配置保持不变 -->
</VirtualHost>

3. 修复站点目录权限

VPS上Mono以www-data用户运行,需确保站点目录拥有正确的权限:

chown -R www-data:www-data /var/www/Example
chown -R www-data:www-data /var/www/Example2
chmod -R 755 /var/www/Example
chmod -R 755 /var/www/Example2

4. 重启Mono服务与Apache

修改asp.net.webapp后仅重启Apache无效,必须重启Mono服务加载新配置:

# 针对systemd系统
systemctl restart mono-server4
# 针对sysvinit系统
service mono-server4 restart

# 最后重启Apache
systemctl restart apache2

5. 查看日志定位具体错误

若以上步骤未解决问题,查看关键日志获取错误细节:

  • Apache错误日志:tail -f /var/log/apache2/error.log
  • Mono服务日志:tail -f /var/log/mono/server4.log
    日志会明确提示配置解析错误、路径不存在或权限不足等具体问题。

6. 验证Mono版本一致性

对比本地与VPS的Mono版本,旧版本可能存在多站点配置兼容性问题:

mono --version

若VPS版本过旧,可通过官方源升级至稳定版。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:56:23