Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Apache/mod_代理重定向URL路径以转发到tomcat servlet_Apache_Tomcat_Mod Proxy - Fatal编程技术网

使用Apache/mod_代理重定向URL路径以转发到tomcat 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 现在被转发到第二

我目前有一个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实例


我创建了一个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文件中包含的任何文件。每个虚拟主机通常有一个单独的文件。