我已经在开发一个Web应用程序(前端Angular,后端Node / Express / Mongo)几个月了。
我在localhost:4200上运行Angular,在localhost:3000上运行Node
我们团队中的某些人正在其计算机上运行的VM中运行后端。
为了使该应用程序在两种情况下均能正常工作,我们已经编辑了Windows主机文件以使该应用程序指向正确的位置(VM或本地计算机的后方)
127.0.0.1 mysite
使用该虚拟机的开发人员将其虚拟机的IP更改为127.0.0.1。
一切正常。
几天前,我们公司在每台PC上都安装了bitlocker,我相信这会导致不使用VM(不受bitlocker约束)的每个人的安装中断
在localhost上工作的人们开始从前端应用接收消息:
OPTIONS http://mysite:3000/auth/login 426(升级 必填)
请求甚至没有到达节点服务器。好像他们已重定向到Websocket服务器?
如果我将请求更改为目标localhost:3000,则该应用程序将再次运行,但是我们将丢失为虚拟机工作人员设置的设置。 (因此,如果每次需要更改基本url,提交代码都会很烦人)
我可以为每种情况创建一个环境,但环境并不干净,我想知道为什么突然坏了。
答案 0 :(得分:1)
尝试将端口从3000更改为其他端口。
当一位同事尝试运行我们首次在Windows计算机上构建的Express应用程序而不是EC2实例时,我遇到了这个问题。我在开发过程中一直在使用Mac。
问题似乎是0.0.0.0:3000已经映射到公司的Windows计算机上。如果在命令提示符下运行netstat -an
,则可能已经看到它在使用中。
答案 1 :(得分:0)
这种情况通常是由于PC和服务器之间的协议不匹配导致的。TLS1.0和1.1在2018年6月4日被永久弃用。我怀疑您使用的仍然是旧版本的TLS。