本地主机为我的 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发送请求?
错误请求 - 从跨 LAN 访问本地主机 Web API 或 Web 应用程序时主机名无效
使用 Angular 和 Spring Boot 从本地主机获取数据