0

我是 .net 的新手,我有一个运行良好的 Web 应用程序,问题是我想从它打开它,Ip Address而不是localhost让 LAN 上的每个人都可以访问它。我将它替换为它localhost使用它打开Web应用程序,但它不会连接到但是当我使用它打开它时它可以正常工作。非常感谢任何帮助。IPlaunchsetting.jsonIPDatabaselocalhostDatabase

数据库:SQLEXPRESS 18。

这是我的launchsetting.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",
      "launchBrowser": true,
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

这是我的 DB 连接字符串的 appsetting.json 文件:

{
  "Logging": {
      "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
      }
    },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "patientDB": "Data Source=DESKTOP-FE7Q19U\\SQLEXPRESS;Initial Catalog=MDSS;Integrated Security=True"
  }
}
4

1 回答 1

0

为了让 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.IpYourPort

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

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

于 2020-12-28T09:10:17.527 回答