我在为具有两个不同上下文路径和端口的两个应用程序配置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
答案 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>