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

apache反向代理-如何隐藏内部网络

拓拔飞飙
2023-03-14

我的场景是这样的:我有一台配置为反向代理的Apache2.2的机器,另一台在8080端口上有Apache Tomcat7监听的机器。

我的目标是让internet用户访问资源“AM”(部署在Tomcat上)时不使用Tomcat机器的IP地址,而只联系反向代理。

ProxyPass/am http://tomcat_server.com:8080/am ProxyPassReverse/am http://tomcat_server.com:8080/am

但问题是,反向代理告诉用户联系tomcat_server,但是tomcat_server是一个私有IP,不能被internet用户访问。

共有1个答案

谷梁卓
2023-03-14

在Tomcat server.xml配置文件中,

编辑http连接器以包含属性:proxyPort,proxyName-使其类似于:

<Connector
 port="8080"
 protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 proxyPort="80"
 proxyName="url.domain.clients.use.for.your.webapp"
 />
  • proxyport=“80”--使Tomcat向Apache代理返回数据
  • proxyname=“url.domain.clients.use.for.your.webapp”--使Tomcat将用户客户端应该处理的url返回给Apache代理,而不是不能访问的tomcat_server.com

以下是一些较老的Tomcat文档中提到的:

代理名称

如果在代理配置中使用此连接器,请配置此属性以指定为调用request.getServerName()返回的服务器名称。有关更多信息,请参见代理支持。

代理支持

当Tomcat在代理服务器后面运行时,可以使用proxyName和proxyPort属性。这些属性修改返回给调用request.getServerName()和request.getServerPort()方法的web应用程序的值,这些方法通常用于构造用于重定向的绝对URL。如果不配置这些属性,返回的值将反映从代理服务器接收连接的服务器名称和端口,而不是客户端将原始请求定向到的服务器名称和端口。

我解决了一个类似的需求,让Tomcat只在其本地主机上侦听:

Tomcat 9连接器如何监听127.0.0.1反向代理才能获胜。带有私有服务器名的Apache 2.4

 类似资料:
  • 主要内容:1. 简单的反向代理,2. 集群和平衡器,3. Balancer和BalancerMember配置,3. 故障转移,4. 均衡器管理器除了作为“基本”Web服务器,并为最终用户提供静态和动态内容之外,Apache httpd(以及大多数其他Web服务器)也可以充当反向代理服务器,也称为“网关” “服务器。 在这种情况下,httpd本身不生成或托管数据,而是由一个或多个后端服务器获取内容,后端服务器通常没有直接连接到外部网络。当httpd收到来自客户端的请求时,请求本身被代理到这些后端服

  • 我们发现了一个使用http2的解决方案,但更喜欢不使用http2的解决方案(出于原因,请参见https://http2.pro/doc/apache)。 使用http2的Apache工作配置 有人能帮助我们创建一个有效的apache反向代理配置,该配置与CsrfPreventionRequestCycleListener一起工作而不使用http2模块吗?

  • 问题内容: 通过浏览器的“查看源代码”功能查看源代码时,是否可以从网页的html隐藏Javascript代码? 我知道可以对代码进行混淆,但我希望将其 隐藏 在视图源功能中。 问题答案: 我不确定其他人是否真的直接解决了您的问题,即正在从浏览器的“查看源代码”命令中查看代码。 就像其他人所说的那样,没有办法保护要在浏览器中运行的javascript免受确定的查看者的攻击。如果浏览器可以运行它,那么

  • 为了处理微服务体系结构,它经常与反向代理(如nginx或apache httpd)一起使用,对于交叉关注点的实现,使用API网关模式。有时反向代理做API网关的工作。 看到这两种方法之间的明确区别将是很好的。使用API网关的潜在好处是调用多个微服务并聚合结果。API网关的所有其他职责都可以使用反向代理实现。例如: 身份验证(可以使用nginx LUA脚本完成); 传输安全性。它本身反向代理任务;

  • 我在设置apache反向代理服务器时遇到问题,希望您能提供帮助。 我安装了带有apache的ubuntu服务器,并启用了以下模块: 然后我用以下内容在代理上设置000-default.conf: 路由器上的端口80和443被转发到代理服务器。在服务(1-3)服务器上,使用来自Lets Encrypt的证书启用SSL。 谢谢你的帮助!

  • 我在谷歌上冲浪,没有找到任何具体的答案或例子,所以再次尝试我的运气在这里(经常是幸运的)。 问题所在 > 我在apache反向代理后面运行了一个spring boot RESTful服务。此RESTful服务只运行HTTP。假设它运行在本地IP172.S端口8080上。 我还配置了一个apache反向代理。假设它运行在本地IP172.a和公共IP55.a上。该代理响应两个端口80,但所有HTTP通