ASP.NET Core、Google Auth 和 NGINX 错误

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

我目前正在尝试在 NGINX 反向代理后面的 ASP.NET Core 应用程序 (.NET 7.0) 中使用 Google Auth。如果我在本地计算机上运行我的应用程序,一切都会正常工作。

如果我尝试在反向代理后面的服务器上进行身份验证,我会收到 HttpClient 超时(60 秒)。

我按照Microsoft文档(https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-7.0&tabs=linux-ubuntu)并尝试来自 stackoverflow 的不同答案,但我无法让它工作。

以下是更多信息:

NGINX 配置:

[...]
location / {
                proxy_pass https://127.0.0.1:5123;
                proxy_http_version 1.1;
                proxy_redirect          off;
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;
                client_max_body_size    10m;
                client_body_buffer_size 256k;
                proxy_connect_timeout   90;
                proxy_send_timeout      90;
                proxy_read_timeout      90;
                proxy_buffers           32 4k;

        }
[...]

appsettings.json:

[...]
 "AllowedHosts": "*",
 "Urls":  "https://127.0.0.1:5123"
[...]

程序.cs:

[...]

var app = builder.Build();

var forwardingOptions = new ForwardedHeadersOptions()
{
    ForwardedHeaders = ForwardedHeaders.All
};

forwardingOptions.KnownNetworks.Clear();
forwardingOptions.KnownProxies.Clear();

app.UseForwardedHeaders(forwardingOptions);

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}


//app.UseHttpsRedirection();

app.UseDefaultFiles();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthentication();
app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.MapControllerRoute(
    name: "api",
    pattern: "api/{controller}");

app.MapRazorPages();

app.Run();

[...]
asp.net-core nginx google-oauth
1个回答
0
投票

原来是网络问题。防火墙阻止了流量。

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