托管服务器端Blazor应用时,SignalR存在问题

时间:2019-07-17 15:03:48

标签: websocket server hosting blazor

当我在Visual Studio代码的开发机器上运行服务器端Blazor应用程序时,一切正常。 但是,在使用Apache2部署到Linux服务器之后,WSS://从客户端到服务器的SignalR连接就会出现问题。

https://shop.gastroblitz.de/的“运行根”页面 导致控制台错误:

在wss://shop.gastroblitz.de/_blazor?id = P1LOmrVSgCD4fAWd9lAhHQ aufbauen下安装Firefox kann keine Verbindung zu dem Server。 blazor.server.js:1:30021 [2019-07-17T14:58:20.948Z]错误:无法启动传输'WebSockets':null

我具有重定向的反向代理配置 -https://调用服务器中的http://localhost:5000(托管dotnet服务的位置) -wss://调用ws://

似乎可以在https://上正常工作,但我无法使用以wss://开头的SignalR东西,但会导致较大的错误...

使用Visual Studio最新预览版和dotnetcore-preview6。

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;

        SqlHub.ConnectionString = Configuration["ConnectionString"];
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddRazorPages();
        services.AddServerSideBlazor();
        services.AddScoped<OrderState>();
        services.AddScoped<StoreData>();
        services.AddScoped<BasketManager>();
        services.AddBlazoredModal();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            app.UseHsts();
        }

        //app.UseHttpsRedirection();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapBlazorHub();
            endpoints.MapFallbackToPage("/_Host");
        });
    }

我希望在服务器上拥有整个Blazor应用程序,就像它在我的Visual Studio环境中运行一样。如果有人对SSL / wss和所有配置资料有个有用的提示,那就太好了!

1 个答案:

答案 0 :(得分:0)

您需要在服务器上启用websocket才能使其正常工作。