升级至426版本后的解决方法

3

我已经在一个web应用上工作了几个月(前端使用Angular,后端使用Node/Express/Mongo)。

我将Angular运行在localhost:4200上,将Node运行在localhost:3000上。

我们团队中的一些人在他们的电脑上运行VM中的后端。

为了使应用程序在这两种情况下都能正常工作,我们编辑了Windows hosts文件,使应用程序指向正确的位置(VM或本地机器上的后端)。

127.0.0.1 mysite

使用VM的开发人员将127.0.0.1更改为其VM的IP地址。

一切顺利。

几天前,我们公司在每台PC上安装了BitLocker,我认为这导致了我们的设置对于不使用VM的所有人都失效了(VM不受BitLocker的影响)。

在localhost上工作的人开始从前端应用程序接收到:

OPTIONS http://mysite:3000/auth/login 426 (需要升级)

请求甚至没有达到Node服务器。看起来它们被重定向到WebSocket服务器?

如果我将请求更改为目标localhost:3000,应用程序就能再次工作,但我们将失去VM上的设置(因此如果我们需要每次更改基本URL,则提交代码会很麻烦)。

我可以为每种情况做一个环境,但这并不干净,我想知道它为什么突然失效了。


错误信息应包括所需的升级。 - The Head Rush
2021年,请同时查看:https://dev59.com/4VEG5IYBdhLWcg3wQICq - Robin Wieruch
2个回答

5

尝试将端口从3000更改为其他端口。

当我的同事第一次在 Windows 机器上运行我们正在构建的 Express 应用程序而不是 EC2 实例时,我遇到了这个问题。在开发过程中,我一直使用 Mac。

问题似乎是因为公司的 Windows 机器上已经映射了 0.0.0.0:3000 端口。如果您在命令提示符中运行 netstat -an 命令,您可能会看到它已经在使用中。


0

你好,这通常是由于PC和服务器之间的协议不匹配引起的。TLS 1.0和1.1在2018年6月4日被永久弃用。我怀疑你正在使用仍然使用旧版本TLS的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接