因此,我的应用程序由一个简单的web服务器提供服务,在"https://localhost:8443/app“下,而相同的web服务器在eg下返回json响应。"https://localhost:8443/api/login“。
TLS目前是使用自签名证书设置的。
当我请求应用程序时,我会收到证书警告,我会跳过它,然后我会看到我的登录页面。
单击登录按钮后,将执行angular应用程序
http.post<LoginResponse>('/api/login', body)它在我的浏览器网络跟踪中显示为对"http://localhost:8443/api/login“的post请求。
我找不到任何关于这方面的信息,只有在运行angular-cli应用程序时如何处理tls的信息。
为什么应用程序默认是http,我应该告诉它在哪里使用https?
发布于 2018-11-01 23:32:08
在Angular documentation中,他们有一个使用拦截器来确保https的例子。下面的代码片段摘自他们的文档:
// clone request and replace 'http://' with 'https://' at the same time
const secureReq = req.clone({
url: req.url.replace('http://', 'https://')
});
// send the cloned, "secure" request to the next handler.
return next.handle(secureReq);发布于 2020-04-10 01:48:00
在angular 5+中,只需使用https而不是http就足够了。只需确保您的服务器正确配置了https,并且您使用的是正确的https端口。如果你得到"ERR_CERT_AUTHORITY_INVALID",把这个麻烦的链接放在浏览器里。当您的访问被禁止时,单击高级,然后继续不安全访问。这仅用于在本地计算机上进行测试。
https://stackoverflow.com/questions/53104257
复制相似问题