gpt4 book ai didi

linux - 在 ubuntu 和 nginx 上托管多个 ASP NET Core 站点作为反向代理

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:59 27 4
gpt4 key购买 nike

我正在尝试在 Linux、Unbunt 18.04 上托管多个具有不同域的 ASP NET Core 站点,并使用 nginx 作为反向代理。

这些是步骤:

1) 在/etc/nginx/sites-available 中创建新的 .conf 文件

2) 在/var/www/中创建文件夹并在 .net 应用程序中上传

3) 为每个 .conf 文件创建新的 .service 文件

默认的 nginx .conf 没有改变。

.conf 文件如下所示:

server {
listen 80;
server_name domain;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

.service 文件如下所示:

[Unit]
Description=Event Registration Example

[Service]
WorkingDirectory=/var/www/example
ExecStart=/usr/bin/dotnet /var/www/example/example.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

使用此配置,即使我部署了几个站点,所有站点都被重定向到相同的内容。我的目标是在同一台服务器上托管多个 .net 核心应用程序。配置应该如何?

最佳答案

我遇到了类似的问题。

您的每个应用程序 nginx 配置文件都应指向 .Net Core 应用程序设置为运行的正确端口号。

这在您的每个 .Net Core 应用程序 program.cs 中的 .UseUrls() 扩展中确定,例如

public static IWebHost CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseUrls("http://0.0.0.0:2001")
.UseStartup<Startup>()
.Build();

每个应用程序都需要有一个不同的端口号,并将其反射(reflect)在其 nginx 配置文件中,如下所示:

server {
listen 80;
server_name domain;
location / {
proxy_pass http://localhost:2001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

希望这对您有所帮助。

关于linux - 在 ubuntu 和 nginx 上托管多个 ASP NET Core 站点作为反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com