使用标准的Tomcat设置,WEB应用里的Servlet或JSP可以下面的方法,获得为用户服务的主机名称和使用
端口的号码。如果让Tomcat单独运行而不与其他WEB服务器捆绑,Tomcat一般可以转达用户请求里指定的
服务器名称和Tomcat设置里“Connector”所监听的端口。下面的 Servlet API里
面的方法可以用来解决这个问题:
ServletRequest.getServerName()
: 用户请求里指定的主机名。
ServletRequest.getServerPort()
: 用户请求里指定的端口。
ServletRequest.getLocalName()
: 收到用户请求的主机名。
ServletRequest.getLocalPort()
: 收到用户请求的主机端口。
当你的Tomcat在一个代理服务器(或一个被配置成与代理服务器行为一样的web服务器)后面运行,你
有时候希望根据用户的访问请求的服务器名和端口号码来正确处理,而不是Connector
本监听的那个端口和主机名。你可以使用
<Connector>元素里面的proxyName
和 proxyPort
属性来配置这些值。
用代理器来捆绑Tomcat和Apache可以有多种形式。下面的章节描述了几种常见情况的代理配置。