Jaa*_*aap 6 c# .net-core kestrel-http-server asp.net-core blazor
我正在使用 (ASP).NET Core (3.1x)、C#、Blazor 和 Microsoft Kestrel Web 服务器,我想知道是否可以在一个 Kestrel 实例和端口 80 上运行 2 或 3 个不同的网站(域名) .我真的很想使用Kestrel作为唯一的Web服务器,而不是在它前面使用像nginx这样的代理服务器。
我已经在谷歌上搜索了一段时间的答案,但我找不到这个问题的答案。我正在租用托管服务器空间来运行 Ubuntu 18.04 VPS,我真的很想在这个 VPS 上运行多个网站,而不是租用多个 VPS。我正在考虑某种路由,但我无法弄清楚。
有没有办法使用 Kestrel 并在端口 80 上运行不同的网站?
更新 - 2020 年 2 月 25 日
我已经为此创建了一个Github 问题,长话短说:使用像 Nginx(适用于 Linux)这样的反向代理服务器。只有一个 Kestrel 进程可以在端口 80 上运行,并且没有一个好的方法可以用一个实例来托管多个网站。
更新 - 2021 年 5 月 4 日
现在可以使用 Microsoft 的反向代理“YARP”,它是一个单独的 Kestrel 实例。看我下面的回答。
要使用 Kestrel 在一台服务器的端口 80 和/或 443 上运行多个域,您需要在其前面放置一个反向代理。
Microsoft 现在拥有自己的非常快的反向代理,称为 YARP,它实际上是另一个 Kestrel 实例,请参阅:Yarp 入门
要将其与 TLS/HTTPS 一起使用,您需要 Kestrel 的 SNI 功能,请参阅此 GitHub 讨论以获取更多信息
这是 appsettings.Development.json我的 GIST 示例。
| 归档时间: |
|
| 查看次数: |
3635 次 |
| 最近记录: |