如何将子域名绑定至Windows Server IIS中托管的WCF Web服务
解决子域名访问IIS托管WCF服务的问题
1. 验证DNS解析是否生效
- 在本地或其他机器上执行命令
nslookup sub.mydomain.com,检查返回的IP是否为91.106.223.89 - 若解析结果不正确,先清理本地DNS缓存:执行
ipconfig /flushdns,再重新查询 - 检查域名解析的TTL设置,若TTL值过大(如24小时),需等待缓存过期或联系域名服务商修改为较小值(如300秒)加速生效
2. 配置IIS站点主机头绑定
- 打开IIS管理器,找到托管WCF服务的站点,右键选择「编辑绑定」
- 点击「添加」,选择绑定类型为HTTP,IP地址选择「全部未分配」或指定91.106.223.89,端口保持80,主机名填写
sub.mydomain.com - 保存绑定配置后,重启IIS站点(右键站点→「管理网站」→「重启」)
3. 检查防火墙与网络安全组
- 确认Windows Server防火墙已允许80端口的入站请求:打开「Windows Defender防火墙」→「高级设置」→「入站规则」,确保存在允许HTTP(80端口)的规则
- 若服务器为云主机,需登录云平台控制台,检查安全组规则是否开放80端口的入站访问
4. 调整WCF服务配置文件
- 打开站点根目录下的
web.config,检查服务终结点配置:- 若终结点使用绝对地址,需添加子域名对应的基础地址,示例:
<system.serviceModel> <services> <service name="YourNamespace.YourService"> <endpoint address="" binding="basicHttpBinding" contract="YourNamespace.IYourService" /> <host> <baseAddresses> <add baseAddress="http://sub.mydomain.com/" /> <add baseAddress="http://91.106.223.89/" /> </baseAddresses> </host> </service> </services> </system.serviceModel> - 优先使用相对地址(即
address=""),避免绑定固定主机名,确保IP和子域名均可访问
- 若终结点使用绝对地址,需添加子域名对应的基础地址,示例:
5. 排除本地访问缓存/代理问题
- 使用浏览器隐私模式访问
http://sub.mydomain.com,排除本地缓存干扰 - 更换不同网络环境的设备测试,确认是否为代理或局域网DNS问题
内容的提问来源于stack exchange,提问作者Mohammadreza Babaei
相关产品推荐
相关产品推荐

