使用Apache/mod_代理重定向URL路径以转发到tomcat servlet
我目前有一个tomcat servlet 1在根目录下运行: api1.myhost.com:8080/ 我正在使用mod_代理并简单地转发来自的所有请求 将api1.myhost.com添加到此实例。从今天起,这项工作就开始了 我现在安装了第二个servlet 2,它在同一个tomcat实例(相同的IP地址)下运行: www.myhost.com:8080/servlet2 我希望对新URL api2的所有请求都转到第二个servlet,以便: api2.myhost.com 现在被转发到第二个servlet实例使用Apache/mod_代理重定向URL路径以转发到tomcat servlet,apache,tomcat,mod-proxy,Apache,Tomcat,Mod Proxy,我目前有一个tomcat servlet 1在根目录下运行: api1.myhost.com:8080/ 我正在使用mod_代理并简单地转发来自的所有请求 将api1.myhost.com添加到此实例。从今天起,这项工作就开始了 我现在安装了第二个servlet 2,它在同一个tomcat实例(相同的IP地址)下运行: www.myhost.com:8080/servlet2 我希望对新URL api2的所有请求都转到第二个servlet,以便: api2.myhost.com 现在被转发到第二
我创建了一个A记录,以便api2.myhost.com指向我的服务器IP。如何将api2.myhost.com转发到www.myhost.com:8080/servlet2?您需要制作两个VirtualHost,on指向第一个Web应用程序,另一个指向第二个Web应用程序
<VirtualHost *:80>
ServerName api1.myhost.com
ProxyPass / http://api1.myhost.com:8080/
ProxyPassReverse / http://api1.myhost.com:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName api2.myhost.com
ProxyPass / http://www.myhost.com:8080/servlet2
ProxyPassReverse / http://www.myhost.com:8080/servlet2
</VirtualHost>
ServerName api1.myhost.com
ProxyPass/http://api1.myhost.com:8080/
ProxyPassReverse/http://api1.myhost.com:8080/
ServerName api2.myhost.com
ProxyPass/http://www.myhost.com:8080/servlet2
ProxyPassReverse/http://www.myhost.com:8080/servlet2
请注意,由于tomcat上的路径与apache上的路径不同,因此您需要在应用程序中使用相对URL。awesome这一点只需稍加修改即可。我还必须有以下行:NameVirtualHost*:80我们要将这些virtualhost记录添加到什么文件?主apache conf文件中包含的任何文件。每个虚拟主机通常有一个单独的文件。