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

Apache 2.4无法通过域名访问Tomcat中static目录静态资源问题

问题分析与解决

核心问题1:443端口缺少SSL配置

你的VirtualHost配置监听443端口(HTTPS),但完全没有配置SSL证书相关指令。Apache收到HTTPS请求时无法完成SSL握手,直接返回400错误,这就是net::ERR_ABORTED 400的根本原因。

核心问题2:静态资源无需通过mod_jk转发到Tomcat

你已经在Apache中配置了static目录的访问权限,完全可以让Apache直接提供这些静态文件,不需要转发到Tomcat——既提升效率,也避免转发逻辑可能带来的问题。

修改后的配置示例

<VirtualHost *:443>
    ServerName test.webpage.com
    ServerAlias www.test.webpage.com
    ErrorLog "logs/test-error.log"
    CustomLog "logs/test-access.log" common

    # 必须添加SSL证书配置,替换为你的证书文件实际路径
    SSLEngine on
    SSLCertificateFile "C:/path/to/your/certificate.crt"
    SSLCertificateKeyFile "C:/path/to/your/private.key"
    # 若存在中间证书,添加以下行
    # SSLCertificateChainFile "C:/path/to/your/chain.crt"

    <Directory "C:/Test/test2/AppServer/webapps/static/">
        Options +Indexes  
        AllowOverride None  
        Require all granted
    </Directory>  

    # 仅转发非静态资源到Tomcat
    JkMount /* prod
    # 排除static目录,交由Apache直接处理
    JkUnMount /static/* prod
    JkUnMount /static prod
</VirtualHost>

额外检查项

  • 确认SSL证书文件路径正确,且Apache进程拥有读取权限
  • 检查本地hosts文件已将test.webpage.com指向localhost
  • 重启Apache和Tomcat,确保配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:45:02