在IIS里把多个域名绑定到同一台服务器,核心操作就是右键网站打开“编辑绑定”窗口,逐个添加域名作为“主机名”,IIS原生支持,不需要第三方插件,也不需要改配置文件。
刚接触IIS的朋友,听到“绑定域名”四个字,第一反应通常是要去改什么配置文件,或者装个什么扩展模块,实际上这个操作比你想象的简单得多,IIS的域名绑定机制,本质上就是告诉服务器:当用户访问某个域名的时候,把请求交给哪个网站来处理,今天我把完整流程和常见坑一次说透。
iis多个域名绑定:三步完成核心配置
第一步:确认网站文件位置,新建站点还是用默认网站
先打开IIS管理器,Windows Server系统可以在“服务器管理器”里找到“Internet Information Services”,或者直接按Win+R输入inetmgr回车。
打开后看左侧“连接”栏里的“网站”节点,如果你的网站文件放在C:inetpubwwwroot目录下,直接右键“Default Web Site”进入绑定操作就行,如果网站文件放在其他磁盘或自定义目录,建议右键“网站”选择“添加网站”,把“物理路径”指到你的文件所在目录,顺便给网站起个名字,MyBlog”,这一步不是必须,但干净利落的区分方式会让后续维护省心很多。
第二步:进入绑定窗口,添加主机名
右键你的网站(默认网站或新建的站点),选择“编辑绑定”,在弹出的窗口里点击“添加”,然后注意看弹窗里的几个字段:
- 类型:选
http,如果绑定HTTPS就选https - IP地址:选“全部未分配”即可,除非你的服务器有多个IP且需要区分
- 端口:HTTP默认80,HTTPS默认443
- 主机名:填你要绑定的域名,比如
example.com
填完点“确定”,第一个域名就绑定好了,要绑定第二个域名?再点一次“添加”,重复填写就行,一个网站可以添加无数条绑定记录,这一步就是iis多个域名绑定的全部核心操作。
有几个细节容易出错,我单独列出来:
- 主机名里不要带
http://,也不要带斜杠 - 填写
example.com和www.example.com是两条完全不同的绑定记录,建议都绑上 - 想同时用IP地址直接访问,保留一条主机名为空的绑定记录
第三步:本地hosts验证,不等DNS生效立刻测试
这一步是很多教程里没提到的,但我强烈建议新手养成这个习惯,刚绑定完域名,如果DNS还没有把域名解析到这台服务器上,你访问域名根本看不到效果,容易误以为绑定失败了。
解决办法是修改本机的hosts文件,打开C:WindowsSystem32driversetchosts,在文件末尾加一行:
0.0.1 example.com
保存后,在浏览器里直接访问http://example.com,如果能看到你的网站内容,说明IIS的域名绑定逻辑已经通了,接下来只要等DNS解析生效就行。
iis绑定域名后外网无法访问?按这个顺序排查
这个问题是我被问得最多的,域名绑定了,内网本地访问正常,但外网就是打不开,iis绑定域名后外网无法访问,九成原因不在IIS本身,而在环境配置。
防火墙入站规则拦截了80端口
IIS在安装时通常会自动创建一条允许TCP 80端口入站连接的规则,但不少软件优化、杀毒软件或手动调整会把它禁用掉,排查路径:控制面板 → Windows防火墙 → 高级设置 → 入站规则 → 找到名称包含“World Wide Web Services”的规则,确认状态是“允许”,如果压根找不到,直接右键“新建规则”,选择“端口”,协议选TCP,端口填80和443,选“允许连接”,一路下一步。
域名解析还没生效
DNS解析生效有延迟,用命令行工具nslookup example.com,看返回的IP地址是否指向你的服务器,如果本机通过hosts文件能访问正常,但nslookup查出来的IP还是旧的,那只能等,TTL时间过后自然会切过来。
服务器备案没通过
国内服务器,域名的ICP备案是硬门槛,据工信部备案系统的流程要求,使用国内机房IP的服务器,域名必须完成备案才能通过80端口对外提供web服务,如果你的服务器是简米云、酷番云这类国内厂商的,拿个没备案的域名绑上去,外网访问会被机房直接拦断,这时IIS配置得再完美也无济于事,要么走备案流程,要么换海外节点服务器。
80端口被其他程序占用了
在服务器上打开命令行,执行:
netstat -ano | findstr :80
看看80端口是否处于LISTENING状态,监听进程是不是System(PID为4),如果看到一个exe程序占着80端口,说明有其他服务在抢端口,最常见的就是Nginx、Apache、Skype,停掉那些程序,或者修改它们的监听端口,再把IIS服务重启一下,执行
iisreset命令。
iis默认网站绑定域名?还是新建站点更稳妥
新手经常犯一个错误:不管有多少个网站,全往“Default Web Site”里堆,如果你的服务器只跑一个网站,那用默认网站绑定域名没问题,但如果你的服务器上要跑多个业务,比如一个博客、一个商城、一个公司官网,强烈建议每个业务单独建站点,单独做IIS默认网站绑定域名之外的新绑定。
原因很简单:
- 每个站点有独立的应用程序池,某个站点崩溃回收时,其他站点不受影响
- 日志文件分离,排查问题的时候不用在一个目录里翻来翻去
- 权限可以单独控制,不同站点的文件访问权限互不干扰
单站点多域名场景
适合个人开发者或小项目,比如你做了一套同城信息发布系统,买了三个不同后缀的域名想都导流到同一个网站,此时在同一个站点下添加三条绑定记录就行,操作最省事,资源占用也最小。
多站点多域名场景
适合企业服务器或外包项目,每个客户一个站点,相互隔离,发布更新的时候,停掉其中一个应用程序池,其他客户的服务完全无感知。
| 对比维度 | 单站点多域名 | 多站点多域名 |
|---|---|---|
| 配置难度 | 低,一个窗口 | 较高,每个站点独立操作 |
| 资源隔离 | 差,共用应用池 | 好,独立应用池 |
| 维护成本 | 日志和配置混在一起 | 清晰独立 |
| 适合场景 | 个人项目、域名引流 | 企业多业务、外包托管 |
iis绑定域名 https:443端口要这样配
现在做网站基本默认要上HTTPS,iis绑定域名 https 的场景下,有几个点特别容易踩坑。
第一步,得先把SSL证书导入服务器,证书文件一般是.pfx或.pem格式,在IIS管理器左侧选择服务器节点,双击“服务器证书”,点右侧“导入”,把证书文件导进去。
第二步,回到网站的“编辑绑定”窗口,点“添加”,“类型”选
https,“端口”填443,“SSL证书”下拉框里选择刚刚导入的证书。
关键问题来了:多个域名都需要HTTPS怎么办?两种方案:
- 单域名证书:每个域名买一张证书,每个域名做一条https绑定,注意IP地址和端口相同的情况下,必须把“主机名”填上域名,IIS会通过SNI(Server Name Indication,服务器名称指示)来区分不同证书
- 通配符证书:一张证书覆盖
.example.com多个子域名,比如blog.example.com、shop.example.com,买一张通配符证书,所有子域名共用,成本比单张证书买好几张更划算
iis绑定域名常见问题汇总
Q1:绑定了两个域名,但访问第二个域名总是跳到第一个站点,怎么回事?
先看浏览器地址栏的变化,如果地址栏自动变成了第一个域名,说明代码层面做了301跳转,比如网站后台配置了“主域名”,所有请求都会跳到主域名上,如果地址栏没变但页面内容是第一个站点的,检查绑定窗口里两条记录的IP地址和端口是否完全一致,另外确认第二个域名有没有解析到这台服务器。
Q2:一个网站可以绑定多少个域名?
IIS本身不限制绑定数量,但绑的域名太多且都是不同站点的第一入口时,建议做301合并,把非主域名统一跳到主域名,一方面有利于搜索引擎权重集中,另一方面避免用户混淆。
Q3:多域名绑定和泛解析绑定有什么区别?
普通绑定是精确匹配,只能识别你填的那个域名,泛解析绑定是在主机名里填.example.com,那么abc.example.com、xyz.example.com等所有子域名都能访问到该站点,泛绑定常见于SaaS平台或用户自定义子域名的系统,但泛泛解析的缺点是精确匹配优先级更高,配置文件里如果同时存在精确绑定和泛绑定,IIS会先命中精确绑定的那一条。
IIS的域名绑定机制,说白了就是给网站做一个“门牌号标签”,把域名填进主机名那一栏,IIS收到请求后就能准确识别该把流量送往哪个站点,这个操作熟练之后,一分钟就能配置完一个域名的绑定,多域名绑定的逻辑完全一样,不用被“多个”两个字吓到,真想搞懂IIS域名绑定,动手配一次比看十篇文章都管用。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/621228.html





