mrk*_*tas 3 ubuntu nginx asp.net-core
我想在同一台服务器上运行两个或多个 asp.net 核心应用程序。但是他们使用的ip和端口是127.0.0.1:5000。
像 nginx 这样的反向代理的要点是您可以在其上托管多个应用程序,而不管它们使用什么内部端口。因此,您可以轻松地在端口 5000、5001、5002 等上托管应用程序,然后让 nginx 在端口 80 上的不同域上公开所有这些应用程序,甚至作为同一域的子路径(如果应用程序设置正确以支持该应用程序) )。
因此 nginx 配置可能如下所示:
server {
server_name host1.example.com;
location / {
proxy_pass http://localhost:5000/;
# …
}
}
server {
server_name host2.example.com;
location / {
proxy_pass http://localhost:5001/;
# …
}
}
server {
server_name host3.example.com;
location / {
proxy_pass http://localhost:5002/;
# …
}
}
Run Code Online (Sandbox Code Playgroud)
这将在三个不同的子域 host1.example.com、host2.example.com 和 host3.example.com 上托管三个不同的应用程序,使用内部端口 5000、5001 和 5002。
当然,这需要您在不同的端口上实际运行您的应用程序。您可以使用ASPNETCORE_URLS环境变量动态设置托管应用程序的 url,例如使用:
$ ASPNETCORE_URLS=http://localhost:5001 dotnet run
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |