如何从 IP 地址访问 .Net Web 应用程序?

问题描述

我是 .net 的新手,我有一个运行良好的网络应用程序,问题是我想从 Ip Address 而不是 localhost 打开它,以便 LAN 上的每个人都可以访问它。我用 localhost 中的 IP 替换 launchsetting.json 它使用 IP 打开网络应用程序,但随后它不会连接到 Database 但是当我使用 {{ 打开它时1}} 它适用于 localhost。非常感谢任何帮助。

数据库sqlEXPRESS 18。

这是我的 Database 文件

launchsetting.json

这是我的数据库连接字符串的 appsetting.json 文件

{
  "iisSettings": {
    "windowsAuthentication": false,"anonymousAuthentication": true,"iisExpress": {
      "applicationUrl": "http://localhost:51911","sslPort": 44374
    }
  },"profiles": {
    "IIS Express": {
      "commandName": "IISExpress","launchbrowser": true,"environmentvariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },"ReactC_mdsS": {
      "commandName": "Project","applicationUrl": "https://localhost:5001;http://localhost:5000","environmentvariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

解决方法

为了让 LAN 上的成员访问您的应用,您需要做几件事。

首先,您需要确保该端口没有被防火墙阻止。仔细检查本指南以确保(对于 Windows 10):https://www.tomshardware.com/news/how-to-open-firewall-ports-in-windows-10,36451.html

接下来,您需要找出您的路由器为其分配的设备本地 IP。

127.0.0.1 或 0.0.0.0 是 Localhost 的同义词,只能由来自同一台计算机的应用程序使用。您需要找到您的本地 IP,这是一个指南:

https://www.whatismybrowser.com/detect/what-is-my-local-ip-address

然后您的其他设备将需要通过 Your.Local.Ip 连接到您的网站:YourPort

这理论上应该可行,但您可能还需要仔细检查您的路由器设置,某些路由器可能有额外的防火墙设置来阻止您需要配置的端口流量,以允许该端口也让流量通过。

另一种方法是使用像 nginx 这样的程序进行反向代理,而是打开端口 80 或端口 443(分别为 http 和 https),然后从这些端口反向代理到您拥有 Web 应用程序的本地主机端口继续运行。