转载(IIS 和 tomcate 共用80 端口) 我试验成功过的

13年前
、在Windows2003中设置IIS只监听一个ip,到WIN2003的CD下的 support/tools/Support.cab。

解压httpcfg.exe文件,COPY到windows/system32/目录下

或者从其他地方下载httpcfg.exe的文件放到本地电脑中

如设置IIS监听10.200.200.200的确80端口请求,即命令使用IIS的只监听指定的IP及端口

cmd命令提示符下,先进入httpcfg.exe所在的目录,再用如下命令:

httpcfg.exe set iplisten -i 10.200.200.200

附其余两个命令

查看绑定: httpcfg query iplisten   (如果有监听的IP,会列出来)

删除绑定: httpcfg delete iplisten -i 10.200.200.200

2、保证iis下的ip设置为全局默认

net stop iisadmin /y

net START w3svc

3、接下设置Tomcat,当然或者你用Apache,Resin等也都可以,在Tomcat的配置文件Server.xml里找到

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"   redirectPort="8443"/>

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"   redirectPort="8443" address="61.156.31.2"/>

添加address="61.156.31.2",这个IP为tomcat监听的IP

4、如果没有重启电脑,iis与TOMCAT是不能同时运行的,我遇到的就这样,因为两个都监听80端口

5、重启电脑后,发现iis与tomcat都能同时运行了,但根据IP去访问iis或者tomcat他并不会跳转,应该就是IIS的套接字池有问题了

   按如下的操作禁用这套接字池

cmd命令提示符中进入 X:\Inetpub\Adminscripts 文件夹(其中 X 是 IIS 安装驱动器)中

再运行以下命令

cscript adsutil.vbs set w3svc/disablesocketpooling true

成功的话会返回:disablesocketpooling :(BOOLEAN) True

再次关闭IIS与TOMCAT的服务器,接着启动tomcat,成功后再去IIS的管理工具,修改你那网站属性,将那IP改为你IIS监听的IP,再启动IIS

呵呵,奇迹开始诞生了

 

如果想取消绑定的话

cscript adsutil.vbs set w3svc/disablesocketpooling false(需重启服务器才生效)

httpcfg delete iplisten -i 10.200.200.200

tomcat 去掉address="61.156.31.2"

ok!!