我有一个使用Tomcat6的Linux机器上运行的Web应用程序。
我已经设置端口转发,以便端口80上的任何请求被redirect到8080端口正常工作。
我遇到的问题是,Web应用程序使用HTTP(在端口80上)调用API,所以无法发送任何请求或接收任何请求,因为所有内容都指向8080端口上的Web应用程序。
有没有办法允许服务器端口80发送/接收,但连接到服务器的外部主机(即networking应用的用户)被定向到8080。
谢谢
您可以使用ProxyPass和ProxyPassReverse代理一些URL到8080,而不是做端口转发。
摆脱端口转发,并在/etc/httpd/conf.d中创build一个文件(假设使用基于redhat的Linux发行版)。
ProxyPass /myapp/ http://localhost:8080/ ProxyPassReverse /myapp/ http://localhost:8080/
如果需要,您也可以在上面的http行之后放置path。
这基本上设置了一个反向代理,所以匹配ProxyPass {,Reverse}条目的任何内容都将转到localhost:8080,其他所有内容都将由本地apache实例提供服务。
显然,如果你有一个不同的发行版或操作系统或networking服务器,上面的内容将不得不改变,但是概念是一样的。