当前位置: 首页 > 知识库问答 >
问题:

有没有办法告诉HttpServletRequest如果一个请求是通过Apache AJP连接器或直接

薛文斌
2023-03-14

有没有办法告诉HttpServletRequest如果一个请求是通过Apache AJP连接器或直接

   <Connector port="8443"
               scheme="https" secure="true" enableLookups="false" disableUploadTimeout="true"
               maxHttpHeaderSize="8192" maxThreads="8000" acceptCount="3000" SSLEnabled="true"
               maxConnections="10000" protocol="org.apache.coyote.http11.Http11NioProtocol">
             ...
    </Connector>

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false" />

senario我们有一些用户访问tomcat通过互联网上的访问是

网址:8443--

在内部网上时,客户管理员已经将网址映射到tomcat,以便

网址:8443--

所以broswer的URL是相同的网址:8443,所以从URL中无法判断它是通过apache还是直接到tomcat

共有1个答案

蓬森
2023-03-14

通过在apache中设置header找到了一种方法

RequestHeader设置代理_头APACHE

然后在HttpServletRequest中检测PROXY_头。getHeaders

 类似资料:
  • 问题内容: 我在代码中有很多地方可以处理Alamofire请求/响应。 由于某些间歇性问题(最常见的是不稳定的网络),每个请求都可能失败。 我希望能够在重试前重试请求3次。 直接的方法是拥有类似的东西 但是,出于多种原因,我不喜欢这种方法。最明显的是,我将需要为每种请求类型实现这样的代码(并且我有15种这样的代码)。 我很想知道是否有办法做类似的事情(变化很小且非侵入性) 问题答案: 通过Swif

  • 问题内容: 这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根: 失败了 [$ injector:cdep]找到循环依赖项:拦截器<-$ http 还尝试注入$ injector并使用它获取$ http,结果相同。有任何想法吗? .config就是声明: 问题答案: 注入到: 用它来获取回调函数中返回的对象。 这是一个例子

  • 我使用的debezium-connector:https://repo1.maven.org/maven2/io/debezium/debezium-connector-oracle/1.4.0.final/debezium-connector-oracle-1.4.0.final-plugin.tar.gz 我遵循了docker-compose的以下说明:https://github.com/c

  • 我一直试图找到一个简单的解决办法。 我有一个显示项目列表的for循环。单击其中一个项目会将您转到详细组件,我只希望所选项目在详细组件中可用。出于某种原因,没有简单的解决方案(据我所知)。我希望会有这样的事情: `` 这就是我想要的。但是,这当然行不通。 我错过什么了吗?

  • 问题内容: 我试图将下拉菜单添加到已经具有全局“选择”样式的页面。有没有办法告诉新选择列表忽略全局样式?有大约1到2亿个使用全局样式的现有下拉列表,因此我不想重构现有的html。 问题答案: 没有简单的方法可以执行您要的操作,一种方法是创建一个CSS类,该类将重置特定元素及其子元素的所有适当属性,以使其更加完整,这是一个很好的起点特定于元素的CSS重置

  • 问题内容: 使用PMD,如果要忽略特定的警告,则可以使该行被忽略。 FindBugs有类似的东西吗? 问题答案: FindBugs的初始方法涉及XML配置文件(也称为过滤器)。这确实不如PMD解决方案方便,但是FindBugs只能在字节码上工作,而不能在源代码上工作,因此注释显然不是一个选择。例: 但是,为解决此问题,FindBugs稍后引入了另一个基于注释的解决方案(请参阅参考资料),您可以在类