提问者:小点点

如何配置Apache tomcat以在没有Apache Server的情况下处理ProxyPass和ProxyPassReverse


我使用Apache Tomcat部署应用程序。该应用程序需要配置ProxyPass和ProxyPassReverse,我已经阅读了说明ProxyPass由Apache提供服务的文档Server.How我可以在不使用Apache Server的情况下使用tomcat提供服务和配置相同的服务。

我已经阅读了在Apache服务器的httpd. conf文件中配置的以下代码,用于提供proxyPass和ProxyPass反转:

NameVirtualHost *:80
<VirtualHost *:80>
     ServerName 127.0.0.1
     DocumentRoot /var/www

     ProxyRequests Off
     ProxyPreserveHost On

     ProxyPass /static/ !
     ProxyPass / ajp://localhost:8009/
     ProxyPassReverse / ajp://localhost:8009/

.
.
.
     Alias /static/ "/apache/www/"

</VirtualHost>

共1个答案

匿名用户

如果您在tomcat的“前面”有一个反向代理,则使用这些指令。在这种情况下,如果反向代理是Apache httpd。这些指令是必需的,因为tomcat可能不知道原始请求的目标,httpd可以从tomcat认为请求应该是什么样子“翻译”到用户浏览器需要请求是什么样子。

如果你在游戏中没有反向代理,Tomcat会看到原始请求数据,所有这些指令都可以简单地省略。

如果您使用不同的反向代理(例如nginx),您需要找到使您选择的反向代理使两个世界相互适应的等效指令。

另一个需要注意的信息是:如果您在Tomcat上处理所有内容,请确保您不是以root身份运行,只是为了绑定到端口80或443。您不能以root身份运行tomcat!(如果你不这样做:很好。我已经把它放在这里给每个阅读它的人。再重复也不为过)