假设我已经通过https://test.com:2345/testpage/index.html访问了IIS Web应用程序。
该Web应用程序已经发出了ajax请求,以从IIS中部署的URL为https://test.com:2345/proxy/test.asmx的代理应用程序获取相关数据,显示内容等。
在这里一切正常,但是现在可以说我已经在Tomcat中部署了代理应用程序,因此代理应用程序URL现在更改为https://test.com:2346/proxy/test。此处仅更改端口,域暂时保持不变。
我不想在IIS中更改我的Web应用程序的现有代码,但是当Web应用程序向代理应用程序发出请求时,我想将请求URL从https://test.com:2345重定向/重写为{{ 3}}。是否可以直接从IIS进行?
我已经阅读了有关IIS URL重写和重定向的信息,但是我还不太了解这一点,有人可以在这里帮助我吗?
答案 0 :(得分:0)
您可以使用IIS连接Apache Tomcat。这样,IIS将像在端口2345上一样接收请求。对/proxy
上下文路径的请求将转发到
The AJP Connector
Apache Tomcat的幕后花絮。甚至不需要从外部访问Tomcat端口2346:
Requests /proxy/* -> IIS port 2345 -> AJP port 8009 -> Processing by Tomcat
如果您的workers.properties
如下所示:
worker.list=tomcat01
worker.tomcat01.type=ajp13
worker.tomcat01.host=localhost
worker.tomcat01.port=8009
您应将网址格式/proxy/*
映射到uriworkermap.properties
中的tomcat:
/proxy/*=tomcat01
请注意,对于初学者而言,这是一个很长的路要走,您必须学习/尝试和尝试很多错误。配置中的任何拼写错误或不完全遵循下面链接的文档的任何内容都将导致任意且绝对的非自我解释错误消息。
这是常规的Tomcat连接器配置概述:
The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector
IIS的具体操作方法:
ISAPI redirector for Micrsoft IIS HowTo
IIS连接器参考指南:
The Apache Tomcat Connectors - Reference Guide
祝你好运,玩得开心!