本地主机为我的 Angular 应用程序发送了无效响应

Posted

技术标签:

【中文标题】本地主机为我的 Angular 应用程序发送了无效响应【英文标题】:Localhost sent an invalid response for my angular app 【发布时间】:2019-03-11 16:25:55 【问题描述】:

我在本地有一个使用 springBoot、java、jHipster、Angular 等创建的项目,我想运行它。通常我使用 mvnw 来运行项目。现在我换了电脑,所以当在 cmd 中运行 mvnw 时,它说应用程序在 https://localhost:8080 中运行,当我转到此链接时,我无法访问该应用程序。

这是消息:

This site can’t provide a secure connection
localhost sent an invalid response.
Try running Windows Network Diagnostics.
ERR_SSL_PROTOCOL_ERROR

也许我需要安装 apache 才能访问 localhost 中的项目?我不记得我是否在旧电脑上安装了 apache,但我可以访问该应用程序。

我在cmd中做了netstat -ano | findstr 8080,在任务管理器中发现java.exe使用了8080端口。也许是端口问题? 谢谢!

【问题讨论】:

【参考方案1】:

您必须改用HTTP 协议,因为您不需要使用SSL Certificate

改成:

https://localhost:8080

收件人:

http://localhost:8080

那么你应该不会再出现错误了。

【讨论】:

我看不出你回答的原因,但情况恰恰相反。 感谢您的解释!我遇到问题的原因是我使用的是 https 而不是 http,这可能是正确的。抱歉,您的回答似乎相反。 再次,我想接受您的回答,但对其他人来说可能会令人困惑。只需更改协议的位置。就这样。仅仅因为你帮助了我是不够的。这个问题也必须对其他人有所帮助。 我试过了,但是输入的时候会自动变成“https” 一年有什么不同,@ph33nyx...Chrome 68+ 现在强制使用 https。对于 Angular 应用程序,您可以在 package.json “脚本”部分添加另一行。我使用:“start”:“ng serve --port 4200”,“startSSL”:“ng serve --ssl --port 4200”,将站点启动为 startSSL 将允许您在 localhost 上运行 SSL(注意:也可能需要 withCredentials: true 才能添加到您的 HttpInterceptor)【参考方案2】:

这是正常行为,因为您不使用 https 协议。

【讨论】:

【参考方案3】:

如果您在 'localhost' 中打开,则必须提供 http,因为本地计算机无法提供安全连接 (https)。 所以,试试这个....

【讨论】:

【参考方案4】:

我对谷歌浏览器也有同样的问题。检查提供的解决方案后,它不起作用。 (即使我使用 http 而不是 https,但 chrome 会将自己重定向到 https)。 所以我使用了 Mozilla Firefox 和 Microsoft Edge,它成功了!我不知道如何在谷歌浏览器中解决它! 您对此有任何报价吗?

【讨论】:

【参考方案5】:

我知道这有一个解决方案,但如果您在将 URL 中的 https 更改为 http 后仍然遇到问题,那么您的浏览器可能总是将 localhost 重定向到 https。在这种情况下,本指南应该会有所帮助:https://howchoo.com/chrome/stop-chrome-from-automatically-redirecting-https

【讨论】:

以上是关于本地主机为我的 Angular 应用程序发送了无效响应的主要内容,如果未能解决你的问题,请参考以下文章

如何从Angular向同一域上的Laravel API发送请求?

IOS 推送通知在本地有效,但在 bluehost 上无效

错误请求 - 从跨 LAN 访问本地主机 Web API 或 Web 应用程序时主机名无效

使用 Angular 和 Spring Boot 从本地主机获取数据

我的 API url 在 Chrome 浏览器中有效,但在我的测试 apache 本地主机环境中无效

docker容器连接到我的本地主机,因此它可以向在我本地运行的应用程序发送http请求[重复]