ECS换IP后IIS启动报错(指定的网络名格式无效)

实用知识 7年前 (2016) 工具猫
3,479 0

此次被阿里坑的够呛,一台ECS香港主机,系统是windows server 2012,主要运行IIS,最近阿里要强制迁移,迁移你就迁移吧,换什么IP啊,唉既然已经入坑了,只能慢慢填坑。

问题概述

  • 指定的网络名格式无效
  • 万维网发布服务(WWW 服务)没有为站点 x 注册 URL 前缀 xxxxx。 该站点已被禁用。数据字段包含错误号。
  • 不能为 xx.xxx.xx.x:80 绑定到下面的传输。IP 仅侦听列表可能包含到一个接口的引用,该接口在此计算机上不存在。数据字段包含错误号

首先是把绑定在这台机器上的所有域名解析的IP换过来,几百个网站啊累崩~~然后批量修改IIS绑定的IP,在IIS里一个一个改那是不现实的,毕竟域名解析已经崩溃边缘了,以前IIS6批量改是很简单的,只要改配置文件即可,可是IIS8又不同了,不过不怕,总是有大神在我们前面填好了坑等我们,虽然不是现成的,但变通一下就可以了,方法如下:

1、打开我们的IIS管理器,在功能视图里找到“共享的配置”这个功能然后双击进入。

ECS换IP后IIS启动报错(指定的网络名格式无效)

2、进入“共享的配置”后单机右上方的“导出配置”选项,选择导出配置文件的物理路径,然后设置一个密码,密码必须是包含数字、符号、大小写字母组合并且至少为8个字符长的强密码,确定导出后会在你导出配置文件目录下生成administration.config、applicationHost.config和configEncKey.key共3个文件,这3个文件就是我们备份的IIS站点配置信息文件。导出来后用notepad++打开applicationHost.config这个文件,然后搜索ECS迁移之前的IP,替换成迁移之后的IP,保存即可!ECS换IP后IIS启动报错(指定的网络名格式无效)

3、现在是还原IIS的配置信息,首先将你导出后的administration.config、applicationHost.config和configEncKey.key这个3个文件复制到你需要恢复IIS配置信息的电脑或服务器上,然后打开IIS,同样在功能视图里找到“共享的配置”并打开。 ECS换IP后IIS启动报错(指定的网络名格式无效)

OK,关闭IIS管理器再打开看下,是不是域名所绑定的IP都变过来了呢,嘻嘻!

不过先别高兴太早。。。因为我重启数次,IIS里的网站都无法正常启动,囧~~手动启动一个网站看下呢,报错如下图:ECS换IP后IIS启动报错(指定的网络名格式无效)

百度谷歌了大半天,没找到解决方案,于是换个方式,应该说是灵光一闪,我想起了去看系统事件日志,看到两个错误信息:

ECS换IP后IIS启动报错(指定的网络名格式无效) ECS换IP后IIS启动报错(指定的网络名格式无效)

注意了注意了,重点在上面两张图中的第一张中,不能为xxx.xxx.xxx.xx:80绑定到下面的传输...可是我明明已经把IP都改过来了啊,怎么会呢,真是见了x了。幸好之前找上面的问题的时候看到过有大神解决了2003系统下的类似问题,其中有一个概念很重要:IIS监听的IP地址,而且大神用的方法是httpcfg

绑定到某IP: httpcfg set iplisten -i 192.168.0.1  
查看绑定IP: httpcfg query iplisten 
删除绑定IP: httpcfg delete iplisten -i 192.168.0.1

可是windows server 2012没有httpcfg该怎么办呢,还真被我想到办法了,废话不多说直接入正题,因为我想睡觉了:

先是CMD下输入下列命令,然后回车

netsh http show iplisten

果然ECS迁移之前的IP存在这个侦听列表中。那么简单了,用下面这个命令删除

netsh http delete iplisten ipaddress=迁移前的IP

然后重启ECS,耐心等待一两分钟,之前无法访问的网站全部华丽丽的复活了!!!

版权声明:工具猫 发表于 2016-12-26 11:09:24。
转载请注明:ECS换IP后IIS启动报错(指定的网络名格式无效) | 工具猫