在通过不同端口创建网站之后,通过主机 ip + 端口并不能直接访问到网站内容。但 ip 可以直接访问到 iis 默认创建的站点,这说明服务器本身是可以访问的,主要问题出在端口上。

检查服务器防火墙是否添加了相关端口的入站规则

iis 创建网站是需要将端口添加到入站白名单之中的,因为安全因素,防火墙默认只允许 80 和 443 端口通行。

1.首先在程序里搜索 “防火墙”,若存在 “高级防火墙”,则跳过第二个步骤

搜索防火墙
搜索防火墙

2.打开 “windows 防火墙”,点击高级设置

打开高级设置
打开高级设置

3.点击左侧 “入站规则”,右侧操作中点击 “新建规则”,规则弹出框中规则类型选择 “端口”

创建入站规则1
创建入站规则1

4.填写端口号,可以填写一个,或者 “8080-8081” 这样的端口段

创建入站规则2
创建入站规则2

5.之后选择下一步到填写规则名称和描述,点击完成,入站规则就创建好了

规则名称和描述
规则名称和描述

6.通过 ip+端口再次测试访问,若成功了,则到此结束

检查服务器应用的安全组规则

在添加了防火墙入站规则(或者干脆关闭防火墙)之后仍然无法访问相关端口,则说明在服务器外部仍有阻碍限制访问。小一点的数据中心会有中央防火墙,大一些的云服务商,比如阿里云,会有服务器默认应用的安全组。这边以阿里云为例。

1.打开服务器实例详情,选择安全组

打开安全组
打开安全组

2.添加入方向规则

添加入方向规则
添加入方向规则

3.通过 ip+端口再次测试访问

报错排查

401 - 未授权: 由于凭据无效,访问被拒绝。

编辑网站权限,开放 everyone 组和用户名(可能存在安全问题)