当我在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和所有配置资料有个有用的提示,那就太好了!
答案 0 :(得分:0)
您需要在服务器上启用websocket才能使其正常工作。