我是否需要在 Web 服务器上托管 ASP.NET Core API 才能将其加入生产环境?

问题描述 投票:0回答:1

我有一个在树莓派上运行的 API,我将应用程序配置为侦听本机的端口,我在同一本地网络上通过 PC 发送 HTTP 请求:

http://<raspberry-ip>:<configured-port>/<api-route>

当我在树莓派上执行

dotnet run
时,一切都按照我的预期进行(在开发环境中启动)。

现在我想通过 Windows 窗体或 Avalonia 桌面应用程序使用此 API(但这与此处无关)。在我的 PC 上开发客户端桌面应用程序之前,我想在我的树莓派上部署该应用程序以在启动时启动它,这就是麻烦开始的地方。

API 现在在 localhost:5000 上监听,因为它现在在生产环境中,因此它可以在本地工作(可以在我的树莓派上执行 HTTP 请求),但我无法从我的 PC 加入它。

我不知道如何配置我的树莓派在生产环境中侦听的端口,但我找不到它,我什至想知道这是否可能。我在 microsoft 上看到这篇文章,构建一个 Web 服务器作为我的 API 和来自我的 PC 的 HTTP 请求之间的接口(据我所知)。

这是执行此操作的唯一方法,还是我也可以在生产中使用自定义端口来直接加入我的树莓派

http://<raspberry-address>:<custom-port>

c# .net-core api-design production-environment
1个回答
0
投票

我只需更改

appsettings.json
文件中的 Kestrel 端点。

"Kestrel": {
      "Endpoints": {
        "Http": {
          "Url": "http://<raspberry>:<port>"
          }
        }
      }

这里有一些关于此的文档。以及一些关于 反向代理 的解释,供像我这样可能有相同问题的人使用。

© www.soinside.com 2019 - 2024. All rights reserved.