我有一个asp.net核心应用程序,它使用:
app.UseSpa(x =>
{
if (env.IsDevelopment())
{
x.Options.SourcePath = "ClientApp";
x.UseProxyToSpaDevelopmentServer("http://localhost:4200");
}
else
{
// x.Options.SourcePath
x.Options.DefaultPageStaticFileOptions = new StaticFileOptions
{
OnPrepareResponse = context =>
{
context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store");
context.Context.Response.Headers.Add("Expires", "-1");
}
};
}
});
angular开始于:ng serve
,然后在http://localhost:4200
上为站点提供服务
--public-host
似乎不尊重模式。
文件上说:The URL that the browser client (or live-reload client, if enabled) should use to connect to the development server. Use for a complex dev server setup, such as one with reverse proxies.
我的API托管在asp.net核心应用程序中。
浏览器尝试连接到:https://localhost:4200/sockjs-node/info?t=1605229799939
。。。它没有运行。请注意https,它是从通过https提供服务的asp.net核心应用程序获得的。
如果我用--ssl启动angular dev服务器,相信Windows中证书存储中的certificate,我就可以让它工作。NET信任该证书。问题是,正如我所发现的,在开发过程中运行时,UseSpa
没有覆盖来信任自签名证书。
我希望设置尽可能干净,黑客数量最少,比如信任本地机器上的自签名证书。
有没有办法让HMR/nodejs/angular cli知道它需要连接到什么?
嗯。。。将CCD_ 7设置为CCD_。
然后它只是通过作为代理的asp.net核心应用程序。不知道为什么我在创建这个问题之前没有想到这一点。