[英]Redirect apache httpd to tomcat by mod_jk on centos 8
Im trying to force apache httpd to redirect some requests to tomcat.我试图强制 apache httpd 将一些请求重定向到 tomcat。 I'm using mod_jk.我正在使用 mod_jk。 My testapp is reachable via https://www.myDomain.pl:8443/testapp but apache httpd returns 404 if run via https://www.myDomain.pl/testapp .我的 testapp 可以通过https://www.myDomain.pl:8443/testapp访问,但 apache httpd 如果通过Z5E056C500A1C4B6A7110B50D807BADEapp运行,则返回 404。
What am I doing wrong?我究竟做错了什么? Help pls请帮助
Here are my configuration files changes:这是我的配置文件更改:
/usr/local/tomcat9/conf/server.xml /usr/local/tomcat9/conf/server.xml
<Connector protocol="AJP/1.3"
address="127.0.0.1"
port="8009"
redirectPort="8443"
secretRequired="false"/>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeyFile="conf/server.key"
certificateFile="conf/server.crt"
certificateChainFile="conf/server.ca"
type="RSA" />
</SSLHostConfig>
</Connector>
/etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf
LoadModule jk_module /usr/lib/apache/mod_jk.so
JkWorkersFile "/etc/httpd/conf/workers.properties"
JkLogFile "/var/log/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkShmFile /var/log/httpd/mod_jk.shm
/etc/httpd/conf/workers.properties (whole file) /etc/httpd/conf/workers.properties(整个文件)
worker.list=a
worker.a.type=ajp13
worker.a.host=localhost
worker.a.port=8009
worker.a.socket_timeout=10
/etc/httpd/conf/extra/httpd-vhosts.conf (whole file) /etc/httpd/conf/extra/httpd-vhosts.conf(整个文件)
<VirtualHost myIP:80>
ServerAdmin webmaster@localhost
UserDir disabled
DocumentRoot /var/www/html
ServerName www.myDomain.pl
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
CustomLog /var/log/httpd/homedir.log homedir
CustomLog /var/log/httpd/access_log combined
ErrorLog /var/log/httpd/error_log
<IfModule !mod_ruid2.c>
SuexecUserGroup webapps webapps
</IfModule>
</VirtualHost>
<VirtualHost myIP:443 >
ServerAdmin webmaster@localhost
UserDir disabled
DocumentRoot /var/www/html
ServerName www.myDomain.pl
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
CustomLog /var/log/httpd/homedir.log homedir
CustomLog /var/log/httpd/access_log combined
ErrorLog /var/log/httpd/error_log
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/server.crt
JkMount /testapp a
<IfModule !mod_ruid2.c>
SuexecUserGroup webapps webapps
</IfModule>
</VirtualHost>
I'm not sure what could be your problem but I would try changing我不确定你的问题是什么,但我会尝试改变
JkMount /testapp a
to至
JkMount / a
Moreover, have you considered using ProxyPass and ProxyPassReverse (https://tomcat.apache.org/connectors-doc-archive/jk2/proxy.html )?此外,您是否考虑过使用 ProxyPass 和 ProxyPassReverse (https://tomcat.apache.org/connectors-doc-archive/jk2/proxy.ZFC35FDC70D5FC69D239883A822C7 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.