最近购买了一台 Windows 云服务器 godaddy。现在我安装了 iis7 和所有其他必需的软件。我有 50.62.1.89 和另外 2 个公共 IP。此外,我还有一个私有 IP 10.1.0.2。现在的问题是我无法通过任何公共 IP 访问任何网站。我所有的公共 IP 都只打开默认网站。此外,我看不到 IIS 网站绑定的公共 IP。仅列出了我的私有 IP 以进行 IIS 绑定。
在我的服务器中也只公开打开默认网站。但我能够使用私有 IP 打开网站。但我的公共 IP 地址正确指向我的服务器。我能够使用公共 IP 使用远程桌面打开我的服务器。另外,正如我所说,公共 IP 可以从 IIS 打开默认网站,没有任何问题。
请帮帮我。过去两天我一直很困惑。
答案1
IIS 中的绑定应使用内部 IP。您将拥有端口转发规则或负载平衡规则,它们将外部 IP 转换为内部 IP。转换后,虚拟机将使用内部 IP 进行所有操作,包括 IIS 中的绑定。当请求离开服务器时,请求将被转换回外部 IP。
以下是为正常运行的网站设置 IIS 的步骤:
- 在 Go Daddy 云服务器控制台中创建或拥有一个已经运行的网络。
- 创建 Windows VM
- 开始之下
- 管理工具
- 服务器管理器
- 角色
- Web 服务器 IIS
- 右键单击网站
- 添加网站
- 网站名称:mysite.com
- 物理路径:选择您的网站在文件系统上的路径。本例中我们将创建并使用:c:\inetpub\wwwroot\mysite.com
- 绑定:所有未分配端口 80
- 主机名 mysite.com
- 单击“确定”
- 右键单击 mysite.com
- 编辑绑定
- 添加
- 主机名:www.mysite.com
- 点击确定
- 将您的内容添加到:c:\inetpub\wwwroot\mysite.com
- 从 GoDaddy 云服务器控制台添加端口转发到公网 IP,请参见:
http://support.godaddy.com/help/6197
此时,如果您访问 yourpublicIP,您将看到 IIS7 欢迎页面。这是因为此 IP 归 IIS 中的默认站点所有。
如果您已经有指向公共 IP 的域名,即将 mysite.com 解析为您的公共 IP 地址,那么访问 mysite.com 将可以在您的 Web 浏览器中进行。
如果您没有将 DNS 指向公共 IP,则可以编辑本地计算机上的 hosts 文件,以使域仅在您的计算机上解析为该 IP:
有关路径,请参阅:
在一行上添加一个条目,例如:mysite.com 50.62.1.89
保存并关闭文件。
关闭 Web 浏览器,重新打开,然后转到 mysite.com。它应该可以按预期工作。
使用上述方法,您可以在 50.62.1.89 IP 地址上放置任意数量的网站。
如果您希望网站拥有该 IP 地址的所有内容。
- 开始
- 管理工具
- 服务器管理器
- 角色
- Web 服务器 IIS
- 右键单击 mysite.com
- 编辑绑定
- 添加
- IP 地址:10.1.0.2
- 好的
现在转到您的公共 IP 地址将显示您的网站。
答案2
在我看来,IIS 似乎正在等待客户端的“Host:”标头,但实际上它没有收到。您使用的 URL 是主机名还是 IP 地址?
答案3
@Mike_GoDaddy 感谢您的有用回复。现在我的问题得到了解决。这是我自己的错误。
之前我仅使用端口转发将所有 TCP 端口转发到机器中。使用 TCP 和 UDP 方法转发所有端口后,我的网站和 DNS 运行正常。
谢谢。
答案4
IIS 中的 IP 列表仅预先填充了服务器拥有的 IP 地址。而不是指向它的公共 IP 地址。
如果服务器上有多个 nic 或 ip,此列表仅用于选择站点应该应答的 IP。
检查默认站点的主机头配置,看看谁用公共 IP 配置了它。
我的猜测是,服务器将它们作为 Nic 上的别名,或者将它们转发给您。
但这不应该有影响。你唯一需要做的就是配置 IIS,让其在主机头上的 80 端口上响应你知道可以连接到服务器的 IP 地址。