如何解决Tomcat的Apache代理AJP给出404
我想使用Apache代理来访问由Tomcat 9交付的基于Java的API(servlet)。但是我只能使用404
。
Tomcat正在运行,我在http://myappname.localhost:8080/api/test
下得到了想要的东西。
但是404
的{{1}}
进一步的 Tomcat 9.0.39配置:
server.xml:http://myappname.localhost/myappname-app/api/test/
我在Eclipse中使用以下日志启动它:
<Connector address="0.0.0.0" port="8009" protocol="AJP/1.3" redirectPort="8443" secret="null"/>
# ...
<Engine defaultHost="localhost" name="Catalina">
从Eclipse服务器配置
Apache正在运行,我在Nov 10,2020 12:37:38 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-0.0.0.0-8009"]
Nov 10,2020 12:37:42 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-0.0.0.0-8009"]
下得到了静态前端文件
更多 Apache 2.4.41配置
api.confhttp://myappname.localhost/myappname-app/
我在这里有两个问题:
- 我需要像
<VirtualHost myappname.localhost:80> ServerName myappname.localhost #ProxyRequests Off #ProxyPass /myappname-app/api ajp://127.0.0.1:8009/api/ #ProxyPassReverse /myappname-app/api ajp://127.0.0.1:8009/api/ LogLevel debug # Settings for adding a trailing slash to the URL RewriteEngine On RewriteCond %{REQUEST_URI} ^/(portal)$ RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L] # Settings for Apache Reverse Proxying <IfModule mod_proxy.c> # Proxy specific settings ProxyRequests Off ProxyPreserveHost On <Proxy *> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyPass /myappname-app/api ajp://127.0.0.1:8009/api/ ProxyPassReverse /myappname-app/api ajp://127.0.0.1:8009/api/ </IfModule> </VirtualHost>
这样的东西吗?或者这不适合我的目的(它将路径用作绝对路径吗?)? - 在
JkMount /myappname-app/api ajp13
指令中使用ServerName
myappname.localhost 和 127.0.0.1 有什么问题吗?
ProxyPass
apachectl -M包含
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.ajp13_worker.lbfactor=1
我不确定whether I am using mod_jk
or mod_proxy_ajp
,但我想它是 libapache2-mod-jk 中的那个。
我试图
jk_module (shared)
Include /etc/apache2/mods-available/proxy_ajp.load
但这没有任何改变。
/var/log/apache2/mod_jk.log只是说LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
但是我不知道这是否适合
Tue Nov 10 13:42:02.219 2020] [16136:139701289012288] [info] init_jk::mod_jk.c (3591): mod_jk/1.2.46 initialized
任何人(其他)都知道我在这里做错了吗?
这些答案并没有太大帮助:first,second,third (a really useful one)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。