Websocket 托管服务器端Blazor应用程序时信号器出现问题

Websocket 托管服务器端Blazor应用程序时信号器出现问题,websocket,server,hosting,blazor,Websocket,Server,Hosting,Blazor,当我在VisualStudio代码的开发机器上运行服务器端Blazor应用程序时,一切正常。 但在使用Apache2部署到Linux服务器后,从客户端到服务器的WSS://signal连接出现问题 正在运行的根页面 导致控制台错误: Firefox kann keine Verbindung zu dem服务器wss://shop.gastroblitz.de/_blazor?id=P1LOmrVSgCD4fAWd9lAhHQ 奥夫鲍恩。blazor.server.js:1:30021 [201

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

正在运行的根页面 导致控制台错误:

Firefox kann keine Verbindung zu dem服务器wss://shop.gastroblitz.de/_blazor?id=P1LOmrVSgCD4fAWd9lAhHQ 奥夫鲍恩。blazor.server.js:1:30021 [2019-07-17T14:58:20.948Z]错误:无法启动传输“WebSocket”:null

我有反向代理配置,可以重定向 -https://在服务器中调用到(承载dotnet服务的位置) -wss://对ws的调用://

在https://上似乎工作得很好,但我没有使用wss://启动的信号器,并导致上面的错误

使用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");
        });
    }
公共类启动
{
公共启动(IConfiguration配置)
{
配置=配置;
SqlHub.ConnectionString=配置[“ConnectionString”];
}
公共IConfiguration配置{get;}
public void配置服务(IServiceCollection服务)
{
services.AddRazorPages();
AddServerSideBlazor();
services.addScope();
services.addScope();
services.addScope();
services.AddBlazoredModal();
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
app.UseExceptionHandler(“/Home/Error”);
app.UseHsts();
}
//app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(端点=>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage(“/_主机”);
});
}

我想在服务器上安装整个Blazor应用程序,就像它在我的Visual Studio环境中运行一样。如果有人对SSL/wss和所有配置内容有有用的提示,那就太好了……thx!

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

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

此处是Azure上应用程序的控制台结果,您必须打开WebSocket。我建议您在Apache中查找类似的设置。此处是Azure上应用程序的控制台结果,您必须打开WebSocket。我建议您在Apache中查找类似的设置。好的,但这是服务器端Blazor应用程序-因此除了此dll之外,没有其他服务器可以打开此dllt运行端口5000+5001。外部请求通过反向代理发送到它。我如何在服务器(Blazor应用程序)中启用WebSocket?好的,但这是服务器端Blazor应用程序-因此除了运行端口5000+5001的dll之外,没有其他服务器。外部请求通过反向代理发送到它。我如何在服务器(Blazor应用程序)中启用WebSocket?