我在 SBS2011 服务器周围有一个小型本地网络。我想使用标准端口 80 在此服务器上托管一个或多个(低容量)ASP Net Core 2 站点。但是,我在网络方面遇到了困难,如果这是一个非常基本的问题,请原谅。
我有一个宽带路由器,地址是 192.168.1.254/24,服务器是 192.168.1.1。工作站和服务器指向默认网关 192.168.1.254。
在 localhost 上的 VS2017 中运行良好的站点已成功发布到服务器 c: 驱动器上的文件夹。已在外部设置了“A”记录,将 subsite.mydomain 指向路由器的固定外部 IP 地址。我已将 IIS 设置为指向站点本地文件夹的网站,并添加了 subsite.mydomain/外部 IP/端口 80 的绑定。
此外,我还添加了服务器 DNS A 记录,其站点名称和 IP 为 192.168.1.250(任意),以及此 SiteName/IP/80 的 IIS 绑定。
这些似乎都不起作用。从内部网络看,路由器界面显示正常。从外部看,只有一个空白页。
这是因为请求直接发往路由器(默认网关)而未被服务器解释吗?网关是否应该位于不同的子网上?如果是这样,请问我该如何正确设置(请提供简单的步骤!)。
路由器是 Technicolor TG588v v2,由我的 ISP 提供。
答案1
您的路由器缺少必要的端口转发规则。您需要创建一条规则,将路由器 WAN 接口端口 80 上的入站连接转发到服务器的内部 IP 地址。
此外,我还添加了一个服务器 DNS A 记录,其站点名称和 IP 为 192.168.1.250(任意),以及此站点名称/IP/80 的 IIS 绑定。这些似乎都不起作用。从内部网络,显示路由器界面。
我不确定你的意思,但听起来你在你的内部的DNS 服务器将外部 DNS 名称(路由器/Web 服务器/SBS 服务器的 DNS 名称)指向路由器的公共 IP 地址。如果是这样,则这可能不起作用,因为您的路由器未配置为执行发夹型NAT。
您可以通过以下两种方式之一修复此问题:
如果支持,请为路由器配置发夹式 NAT。配置后,发夹式 NAT 会接受来自内部 LAN 且目的地为路由器 WAN IP 的连接,然后将其转发到内部服务器的 IP 地址,方式与连接源自 Internet 时相同。
在您的内部 DNS 服务器上创建 DNS A 记录,将服务器的公共主机名指向服务器的私有 IP 地址。如果所有内部客户端都使用您的本地 DNS 服务器而不是互联网上的 DNS 服务器,则此方法效果最佳。