问题描述
我是 .net 的新手,我有一个运行良好的网络应用程序,问题是我想从 Ip Address
而不是 localhost
打开它,以便 LAN 上的每个人都可以访问它。我用 localhost
中的 IP
替换 launchsetting.json
它使用 IP
打开网络应用程序,但随后它不会连接到 Database
但是当我使用 {{ 打开它时1}} 它适用于 localhost
。非常感谢任何帮助。
这是我的 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 应用程序的本地主机端口继续运行。