【问题标题】:Apache/AJP remote changes the URI. Why?Apache/AJP 远程更改 URI。为什么?
【发布时间】:2017-05-11 20:44:39
【问题描述】:

我在 Windows 和 Tomcat 7 上使用 Apache 2.4。到目前为止,我一直在我的本地主机上测试所有内容。所以我本地的 Apache httpd.conf 有这个...

<Location /sample>
    ProxyPass ajp://localhost:8079/sample
    ProxyPassReverse ajp://localhost:8079/sample
</Location>

现在我正在尝试在不同的系统上设置 Apache 并将其指向我的 Tomcat 系统。这是远程 Apache httpd.conf 的内容...

<Location /sample>
    ProxyPass ajp://192.168.2.93:8079/sample
    ProxyPassReverse ajp://192.168.2.93:8079/sample
</Location>

新的远程 Apache 肯定会将请求转发到 Tomcat,但它会将位置添加到请求中。比如……

/sample/sample  

当它应该只是......

/sample

本地和远程 Apache httpd.conf 之间唯一改变的是我将 ProxyPass 设置从 localhost 更改为 IP。

我在这里缺少什么?这让我发疯了。

谢谢!

这是我本地的 httpd.conf....

# ================================================= 
# Modules 
# =================================================
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule dir_module modules/mod_dir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule xml2enc_module modules/mod_xml2enc.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadFile    libxml2.dll
LoadModule  ssl_module    modules/mod_ssl.so
LoadModule  proxy_html_module    modules/mod_proxy_html.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule filter_module modules/mod_filter.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule env_module modules/mod_env.so

Include conf/proxy_html.conf
Include conf/extra/httpd-ssl.conf

# ================================================= 
# Basic settings 
# ================================================= 
Listen 80
ServerName localhost:80
ServerAdmin fred@www.somedomain.com 
UseCanonicalName Off 
ServerSignature Off 
HostnameLookups Off 
ServerTokens Prod 
ServerRoot "D:/Apache24"
DocumentRoot "D:/Apache24/htdocs"

<IfModule mod_dir.c> 
   DirectoryIndex index.html index.htm index.php
</IfModule> 


# ================================================= 
# HTTP and performance settings 
# ================================================= 
Timeout 300 
KeepAlive On 
MaxKeepAliveRequests 100 
KeepAliveTimeout 15 
<IfModule mpm_winnt.c>
    ThreadsPerChild 64
    MaxRequestsPerChild  0
</IfModule>

# ================================================= 
# Logs: emerg, alert, crit, error, warn, notice, info, debug
# ================================================= 
  # Docs ~ http://httpd.apache.org/docs/2.4/mod/core.html#loglevel
  LogLevel alert rewrite:trace8 proxy_html:trace7
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
  LogFormat "%h %l %u %t \"%r\" %>s %b" common 
  LogFormat "%{Referer}i -> %U" referer 
  LogFormat "%{User-agent}i" agent 
  #ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
  ErrorLogFormat "[%l] %F ~ %M"
  ErrorLog "logs/error.log" 
  CustomLog "logs/access.log" combined
# ================================================= 

<VirtualHost *>
    ServerName localhost:80

    RewriteEngine On
    ProxyRequests off
    ProxyHTMLEnable Off

    <Proxy *>
      Require all granted
    </Proxy>

    <Location /sample>
        ProxyPass ajp://localhost:8079/sample
        ProxyPassReverse ajp://localhost:8079/sample
    </Location>
</VirtualHost>

【问题讨论】:

    标签: apache tomcat uri ajp


    【解决方案1】:

    我不知道为什么相同的 Apache 服务器(从一个系统复制到另一个系统)会产生不同的 URI,因为我将 localhost 更改为 IP 地址。但是我通过从 ProxyPass 参数中删除 &lt;location/&gt; 包装器并改用这些参数来实现它...

    ProxyPass /sample ajp://192.168.2.93:8079/sample
    ProxyPassReverse /sample ajp://192.168.2.93:8079/sample
    

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      • 2018-03-31
      相关资源
      最近更新 更多