在apache http服务器上安装mod_代理

在apache http服务器上安装mod_代理,apache,tomcat,apache2,Apache,Tomcat,Apache2,我想使用ApacheWeb服务器从tomcat服务器反向代理web服务。我已经修改了httpd.conf LoadModule proxy_module modules/mod_proxy.so <Directory /> AllowOverride none Require all denied </Directory> ProxyPass /ROOT http://localhost:8080/ROOT ProxyPassReve

我想使用ApacheWeb服务器从tomcat服务器反向代理web服务。我已经修改了httpd.conf

LoadModule proxy_module modules/mod_proxy.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT
访问日志中的最后一项是:
127.0.0.1--[04/Jul/2013:14:17:00-0400]“GET/ROOT HTTP/1.1”500 528


知道我做错了什么吗?

所以花了一些时间,但我找到了解决方法。还有一个模块需要加载。这就是httpd.conf的样子

[Thu Jul 04 14:17:00.097359 2013] [proxy:warn] [pid 18980:tid 4476780544] [client 127.0.0.1:50525] AH01144: No protocol handler was valid for the URL /ROOT. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
LoadModule proxy\u modules/mod\u proxy.so
LoadModule proxy\u http\u module modules/mod\u proxy\u http.so
不允许超限
要求全部拒绝
代理传递/根http://localhost:8080/ROOT
ProxyPassReverse/根http://localhost:8080/ROOT

这是肯定的。:)

由于这很容易被忽视,请注意@muka的评论:

127.0.0.1 - - [04/Jul/2013:14:17:00 -0400] "GET /ROOT HTTP/1.1" 500 528
确保同时启用模块
proxy
proxy\u http

除了其他很好的答案之外,如果要代理到https端点,则需要启用mod_ssl并将
SSLProxyEngine on
添加到vhost

ProxyPassReverse/rootlogs\access.log中的任何日志?嘿,这样做行不通,这就是httpd.conf看起来像LoadModule proxy\u module modules/mod\u proxy.so AllowOverride none需要所有被拒绝的ProxyPass/ROOT localhost:8080/ROOT ProxyPassReverse localhost:8080/ROOT/ROOTSee的方式。另请参见
sudo a2enmod proxy
sudo a2enmod proxy\u http
sudo服务apache2重启
此代理是必需的!在我使用mod_proxy和mod_proxy_ajp多年的世界里,您需要在非java配置中用http模块替换ajp。线索是Apache日志中的这个错误:AH01144:没有对URL有效的协议处理程序^。谢谢
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT
sudo a2enmod proxy  
sudo a2enmod proxy_http  
sudo service apache2 restart