日期:2014-05-16  浏览次数:20771 次

apache代理后的站点,使用<c:url>取不到域名,显示的是内网地址
先说网络环境:  域名服务器 A :linux+apache  ,应用服务器 B :windows+tomcat  在同一内网
sso.demo.cn  指向到  A的80端口
apache配置
<VirtualHost *:80>
    ProxyPreserveHost On
    ServerAdmin webmaster@demo.cn
    ServerName sso.demo.cn
    ProxyPass / http://192.168.0.2:8088/
    ProxyPassReverse / http://192.168.0.2:8088/
</VirtualHost>

但是这样在B中,使用 <c:url> 或者 <%=request.getServerName()%> 获取的都是 http://192.168.0.2:8088/  ,是哪里配置有问题,还是需要修改jstl源码,还是request的方法使用不当?  求一个解释  ,因为大量使用了 <c:url /> 最好有一个简洁的处理方法