本文最后更新于:2014-07-24 13:44:08
原文:http://www.yaosansi.com/post/iis-fails-to-start-after-change-ip/

##概述
今天更换IP后出现无法正常访问,经过近1小时的折腾终于解决了,现记录如下:

##系统环境

  • 操作系统: Win2008
  • 网络: 同一网卡绑定两个IP 192.168.0.1 192.168.0.2
  • 原WEB服务器: IIS(192.168.0.1) Tomcat(192.168.0.2)
  • 更换IP后: IIS(192.168.1.1) Tomcat(192.168.0.2)

两服务器都使用80端口,使用不同的IP绑定不同的域名

PS.不要问为什么不用NGINX等做做反向代理

##问题一

###现象

  • IIS无任何提示,本机无法开启80端口

###解决方法
怀疑是两个WEB Server相互冲突,重启系统

##问题二

###现象

  • 指定的网络名格式无效
  • 万维网发布服务(WWW 服务)没有为站点 2 注册 URL 前缀 http://www.yaoasnsi.com:80:192.168.1.1/ 。 该站点已被禁用。数据字段包含错误号。

    其中192.168.1.1为我们更换后的要绑定的IP

###解决方法
GOOGLE发现此文件 指定的网络名格式无效 ,按此操作后,重启服务器

WIN2003, 换了个IP以后, IIS 里面的站点就无法启动了, 一启动就出现 “指定的网络名格式无效”, 怎么解决??

这与以前系统绑定IP有关.只要把以前的IIS配置文件中与绑定有关的数据修改回来就可以用了

  • 绑定到某IP: httpcfg set iplisten -i 192.168.1.1
  • 即命令使用IIS的只监听指定的IP及端口
  • 查看绑定: httpcfg query iplisten
  • 删除绑定: httpcfg delete iplisten -i 192.168.1.1

为解决这上面的问题,只要你把以前的绑定的IP删除,然后,再绑定0.0.0.0以后.重启服务器.在IIS中选全部未分配IP就可以使用了.

  • 查看绑定: httpcfg query iplisten

显示 192.168.0.1

  • 删除绑定: httpcfg delete iplisten -i 192.168.0.1
  • 绑定0.0.0.0: httpcfg set iplisten -i 0.0.0.0
  • 重启IIS: IISReset

httpcfg 在windows 2003光盘上有.http://support.microsoft.com/kb/813368/

##问题三

###现象

  • 返回404 http not found

按问题二解决以后,发现IIS可以正常访问,但Tomcat不能访问了.

###解决方法
按问题二解决方法,将最后一步的 绑定0.0.0.0 改成 绑定192.168.1.1 ,重启服务器.

##问题四

###现象

  • 另一个程序正在使用此文件,进程无法访问

###解决方法
此问题因其它程序占用80端口导致IIS无法使用,确定无其它程序占用后怀疑是两个WEB Server相互冲突,重启系统即正常了.