IIS 7 + Apache Tomcat 7 + isapi_redirect.dll :
我有一个部署和工作的Tomcat应用程序在http://localhost:8080/my_app下可用。
我想在http://my_app.local (而不是默认的Tomcat站点[你可以在下面看到])看到相同的内容。
我设置了isapi_redirect.dll ,所以现在my_app.local的内容等于localhost:8080 ,但还不够,我想在my_app.local下映射localhost:8080/my_app 。 (我在hosts文件中有127.0.0.1 my_app.local ,所以我可以打开my_app.local ,但是现在它只显示默认Tomcat站点(与http://localhost:8080下的可用站点相同))。
请阅读我已经尝试过的内容:
我安装了IIS 7 (7.5.7600.16385)和Apache Tomcat / 7.0.22 。
my_app ”),现在可以通过http://localhost:8080/my_app 。 我在IIS面板中添加了一个新的网站,Tomcat的path部署为my_app ,如下所示:“ c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app ” my_app.local 。 isapi_redirect.dll 。 http://my_app.local ,我可以看到默认的Tomcat站点(见下文),它与http://localhost:8080/ !!下的内容相同。 (那就是问题所在!!!) http://my_app.local我想看到在http://localhost:8080/my_app下的相同内容。 我怎样才能做到这一点? 非常感谢您提前!
我的configuration文件:

UPDATE
我也发现: http : //tomcat.apache.org/connectors-doc/generic_howto/proxy.html
情况B:您需要隐藏所有进入应用程序的请求的path组件。 这里是你想要隐藏第一个path组件/ myapp的情况下的配方。 更复杂的操作作为练习留给读者。 首先是Apache httpd的解决scheme:
- 在转发到后端之前,使用mod_rewrite将所有请求添加/ myapp:[…]
- 使用mod_headers来重写应用程序可能返回的任何HTTPredirect。 […]
- 再次使用mod_headers来重写cookie中包含的path,你的应用程序可能会设置。 […]
如果您使用Microsoft IIS作为Web服务器,则ISAPI插件提供了一种内置function的第一步。 你可以像这样定义一个简单的前缀更改映射文件 :
# Add a context prefix to all requests ... /=/myapp/ # ... or change some prefix ... /oldapp/=/myapp/然后将该文件的名称放在registry的
rewrite_rule_file条目或isapi_redirect.properties文件中。 在您的uriworkermap.properties文件中,您仍然需要在重写之前映射URL! […]
不支持步骤2(重写redirect响应)或3(重写cookiepath)。
我感到惊讶的是,它写道:“ 不支持步骤2(重写redirect响应)或3(重写cookiepath) ”,我不知道它是否仍然如此,但是什么? 我又卡住了吗?
根据你的目标(容易记住url?),也许可以redirect my_app.local – > my_app.local:8080 / my_app?
但是,这不会隐藏目标网站。
在my_app.local中设置一个新的IIS站点,并让它redirect到:8080 / my_app应用程序。
http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx
你可以试试这个: http : //blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx
这似乎是你需要的,URL重写和应用程序路由。