【问题标题】:Problem with Showing the website (hostet on IIS) when connection with Public IP与公共 IP 连接时显示网站(托管在 IIS 上)的问题
【发布时间】:2021-10-17 11:41:17
【问题描述】:

在 2 个不同的 VM 上部署了一个 API (.Net Core) 和一个前端。 对于数据库,我运行 Azure SQL 数据库。 当尝试通过私有 IP(本地网络)访问前端时,一切正常,我可以调用并在数据库中添加数据。 但是当使用公共 IP 时,我只能看到 UI 但无法与数据库(API)通信 我很困惑,因为在专用网络中一切正常。

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: .net azure iis azure-sql-database


【解决方案1】:

正如您所说,在连接公共 IP 时显示网站(托管在 IIS 上)的问题。我假设您使用的是 IIS-Express。

IIS-Express 默认只连接本地主机。

  1. 以管理员身份运行 Visual Studio。

  2. 更改绑定协议并允许来自公共 IP 的传入 文件中提到的地址:Johan Driessen 的帖子 从远程计算机访问 IIS Express 站点 | Here.

  3. 您必须重新启动 IIS Express 才能进行修改 效果。

要解决此问题,请编辑位于 C:\Users\My Documents\IISExpress\config\applicationhost.config 的 IIS-Express 应用程序配置文件并更改站点的绑定信息。

<binding protocol="http" bindingInformation=":xxxx:" /> 

<binding protocol="http" bindingInformation=":xxxx:machineName" /> 

<binding protocol="http" bindingInformation=":xxxx:10.1.10.123" /> 

或

<binding protocol="http" bindingInformation="*:xxxxxx:*" />

完成此操作的最简单方法是右键单击 IIS Express 图标并选择退出。图标会消失,所以你不会 能够以这种方式重新启动它。相反,为您的 使用 Visual Studio 的 web 项目。它将重新启动 IIS。作为补充 好处,您可以通过右键单击 IIS 来验证更改 图标,在“查看站点”下找到您的 Web 应用程序,然后是 IP 现在可以访问您的应用程序的地址。它应该显示 您的绑定修改就在那里。

【讨论】:

  • 我可以通过公共地址单独访问每个虚拟机。 Api 是通过公共地址到达的,我使用这个公共地址与前端连接。但是当使用公共 IP 连接到前端时,它没有连接到 API。在前端虚拟机(本地主机)上连接时,它可以正常工作。
猜你喜欢
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 2018-01-19
  • 2015-10-15
  • 2010-10-12
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
相关资源
最近更新 更多