Windows Server 2008上的IIS 7.5后面的Java应用程序服务器

我有一个Java应用程序服务器(确实GlassFish,但是对于其他任何应用程序服务器来说,问题都是一样的,我猜)是在端口8080上运行的。而且我有默认configuration的IIS 7.5监听端口80。

我想避免打字的人,因为它是不专业的。 所以我想要这样的时候有人打字

http://myserver 

stream量被定向到IIS。 这就是现在已经有效的方法了。 但是当有人打字的时候我也是这样想的

 http://myserver/java 

stream量被引导到端口8080,因此显示我的GlassFish启animation面。 如果我在上下文根app1下的GlassFish上部署了应用程序,请键入

 http://myserver/java/app1 

应该访问应用程序。

我怎样才能做到这一点? 我曾尝试用IIS7.5 UI中的URL Rewrite实用程序添加一些规则,但是这显示规则重写了URL后的端口,我想避免它。

如果你可以使用像http://java.myserver/这样的java应用程序的子域,这可能会更容易一些 。 然后你可以做类似下面的事情,虽然我不熟悉GlassFish,但是我认为你可以configuration它来像TomCat一样监听某个IP地址。 如果您希望将端口80用于这两个应用程序,则需要IIS侦听IP地址A和GlassFish以侦听IP地址B.然后使用DNS将myserver指向IP A并将java.myserver指向IP B.

然后按照下列步骤操作: http : //www.fredmastro.com/post/Restrict-IIS-to-listen-only-on-X-IP-Address-Allowing-you-to-co-run-with-TomCatApache-on -port-80-与-IIS-上端口-80.aspx

基本上限制IIS只侦听IP A而不绑定IP B.因此,GlassFish可以将其绑定到端口80。

以pipe理员身份打开命令提示符

使用此命令显示哪个IP地址IIS正在监听/绑定。

netsh http show iplisten

然后限制IIS使用此命令来监听/绑定某个IP地址

netsh http add iplisten xxx.xxx.xx

重新启动服务器(你可以尝试重新启动http服务,但并不总是显示在服务中,这是一个痛苦,更容易重新启动)。