使用WebLogic代理插件mod_wl_24.so的此apache virtualhost指令有什么问题?

时间:2018-07-24 07:25:05

标签: apache proxy weblogic virtualhost

我在为具有两个不同上下文路径和端口的两个应用程序配置apache ProxyPass指令时遇到问题。我使用apache将请求代理路径传递给tomcat,将另一个通过WebLogic代理mod_wl_24.so传递给weblogic。 场景: 1. http://wxapp:8444/WechatBank/index.html到weblogic服务器 2. http://wxapp:8443/DirectBank/views/index.html访问apapche本地静态资源;

我的Apache http-vhost.conf喜欢这个:

 <VirtualHost *:8444>
    ServerName test.com
    <Location /WechatBank>
     <IfModule mod_weblogic.c>
     WeblogicHost wxapp
     WeblogicPort 9091
     ConnectTimeoutSecs 49
     MatchExpression *.html
     WLLogFile       /home/wxapache/admin/tmp/proxy.log
     WLTempDir       "/home/wxapache/admin/proxy_tmp/"
     </IfModule>
    </Location>
    ErrorLog "logs/error_8444_log"
    CustomLog "logs/access_8444_log" common
    </VirtualHost>

    <VirtualHost *:8443>
        ServerName test.com
        ProxyPassMatch ^/DirectBank/(service|server)/(.*) http://wxapp:8443/DirectBank
        ProxyPass /DirectBank !
        ErrorLog "logs/error_8443_log"
        CustomLog "logs/access8443__log" common
    </VirtualHost>

但是我访问了。 http://wxapp:8443/DirectBank/views/index.html 获取weblogic桥消息:  Web服务器桥的失败:错误的配置。无法继续 这样的apache错误日志:

[Tue Jul 24 14:19:31.950654 2018] [proxy:trace2] [pid 32687:tid 1142970688] mod_proxy.c(674): [client 158.58.12.180:64737] AH03461: attempting to match URI path '/DirectBank/views/index.html' against pattern '^/DirectBank/(service|home)/(.*)$' for proxying
[Tue Jul 24 14:19:31.950665 2018] [proxy:trace2] [pid 32687:tid 1142970688] mod_proxy.c(674): [client 158.58.12.180:64737] AH03461: attempting to match URI path '/DirectBank/views/index.html' against prefix '/DirectBank' for proxying
[Tue Jul 24 14:19:31.950672 2018] [proxy:trace1] [pid 32687:tid 1142970688] mod_proxy.c(727): [client 158.58.12.180:64737] AH03463: proxying is explicitly disabled for URI path '/DirectBank/views/index.html'; declining
[Tue Jul 24 14:19:31.950729 2018] [authz_core:debug] [pid 32687:tid 1142970688] mod_authz_core.c(835): [client 158.58.12.180:64737] AH01628: authorization result: granted (no directives)
[Tue Jul 24 14:19:31.950741 2018] [core:trace3] [pid 32687:tid 1142970688] request.c(304): [client 158.58.12.180:64737] request authorized without authentication by access_checker_ex hook: /DirectBank/views/index.html
[Tue Jul 24 14:19:31.950867 2018] [weblogic:debug] [pid 32687:tid 1142970688] ApacheProxy.cpp(878): [client 158.58.12.180:64737] <3268715324131713> ================New Request: [GET /DirectBank/views/index.html HTTP/1.1] =================
[Tue Jul 24 14:19:31.950889 2018] [weblogic:debug] [pid 32687:tid 1142970688] ApacheProxy.cpp(1034): [client 158.58.12.180:64737] <3268715324131713> Using Uri /DirectBank/views/index.html
[Tue Jul 24 14:19:31.950899 2018] [weblogic:debug] [pid 32687:tid 1142970688] ApacheProxy.cpp(1054): [client 158.58.12.180:64737] <3268715324131713> After trimming path: '/DirectBank/views/index.html'
[Tue Jul 24 14:19:31.950906 2018] [weblogic:debug] [pid 32687:tid 1142970688] ApacheProxy.cpp(1130): [client 158.58.12.180:64737] <3268715324131713> The final request string is '/DirectBank/views/index.html'
[Tue Jul 24 14:19:31.950915 2018] [weblogic:error] [pid 32687:tid 1142970688] [client 158.58.12.180:64737] <3268715324131713> Neither 'WebLogicCluster' nor 'WebLogicHost' specified in parameters
[Tue Jul 24 14:19:31.950935 2018] [weblogic:error] [pid 32687:tid 1142970688] [client 158.58.12.180:64737] <3268715324131713> *******Exception type [CONFIG_ERROR] (Neither 'WebLogicCluster' nor 'WebLogicHost' specified in parameters\n) raised at line 2192 of ApacheProxy.cpp
[Tue Jul 24 14:19:31.951026 2018] [weblogic:error] [pid 32687:tid 1142970688] [client 158.58.12.180:64737] CONFIG_ERROR [line 2192 of ApacheProxy.cpp]: Neither 'WebLogicCluster' nor 'WebLogicHost' specified in parameters\n
[Tue Jul 24 14:19:31.951058 2018] [http:trace3] [pid 32687:tid 1142970688] http_filters.c(1128): [client 158.58.12.180:64737] Response sent with status 500, headers:
[Tue Jul 24 14:19:31.951073 2018] [http:trace5] [pid 32687:tid 1142970688] http_filters.c(1135): [client 158.58.12.180:64737]   Date: Tue, 24 Jul 2018 06:19:31 GMT
[Tue Jul 24 14:19:31.951079 2018] [http:trace5] [pid 32687:tid 1142970688] http_filters.c(1138): [client 158.58.12.180:64737]   Server: Apache/2.4.33 (Unix)
[Tue Jul 24 14:19:31.951086 2018] [http:trace4] [pid 32687:tid 1142970688] http_filters.c(957): [client 158.58.12.180:64737]   Content-Length: 184
[Tue Jul 24 14:19:31.951092 2018] [http:trace4] [pid 32687:tid 1142970688] http_filters.c(957): [client 158.58.12.180:64737]   Connection: close
[Tue Jul 24 14:19:31.951097 2018] [http:trace4] [pid 32687:tid 1142970688] http_filters.c(957): [client 158.58.12.180:64737]   Content-Type: text/html

2 个答案:

答案 0 :(得分:0)

根据您的请求,您需要通过Apache提供本地文件。一种更简单的方法如下:

<VirtualHost *:8443>
    ServerName test.com
    Alias /DirectBank/ "/opt/SOME_LOCAL_FOLDER"
    <Directory "/opt/SOME_LOCAL_FOLDER">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
    </Directory>
    ErrorLog "logs/error_8443_log"
    CustomLog "logs/access8443__log" common
</VirtualHost>

答案 1 :(得分:0)

在我的httpd.conf中,我设置了DocumentRoot。我的静态文件位于/ usr / local / apache / www / project_files

 DocumentRoot "/usr/local/apache/www"
<Directory "/usr/local/apache/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>