【问题标题】:How to Access .Net web app from IP Address?如何从 IP 地址访问 .Net Web 应用程序?
【发布时间】:2021-04-04 09:20:23
【问题描述】:

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

数据库: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"
  }
}

【问题讨论】:

  • 这没有意义,启动 url 应该是 localhost,因为您的构建部署在 localhost 中。如果您想在 LAN 中构建一个演示服务器供其他开发人员访问它,只需转到主机(其 IP 就是您想要的)并在那里部署您的构建(不需要更改启动 url,只需注意应该打开的端口)。这可能还需要安装数据库服务器(或相应地调整您的 sql 连接字符串)。
  • 嗨@wraith123 456,你可以看到这个thread可能有帮助。

标签: sql asp.net asp.net-core sql-server-express


【解决方案1】:

为了让 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 应用程序的 localhost 端口继续运行。

【讨论】:

    猜你喜欢
    • 2020-03-06
    • 2019-10-12
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2021-05-21
    相关资源
    最近更新 更多