我正在尝试在Amazon EC2实例上部署网站。当我使用我的工作WiFi,家庭互联网,甚至手机的3G连接时,应用程序按预期工作。当我尝试连接使用'公共wifi'时,它无法正常工作,例如你可能在咖啡店或其他公共场所获得的那个:对后端的GET请求不会发生/被阻止。前端完好无损,但请求被阻止。在Chrome网络下的开发者工具中,它显示了“已显示临时标题”。
如果我在相应的端口号处进行卷曲,它会停止直到超时。当我卷起一个良好的互联网连接时,它立即给我HTML。
我的申请基本明细:
MEAN堆栈,使用RestAngular发送HTTP请求,Express和CORS用于接受和响应任何请求。前端在部署期间使用Webpack。
我有两个嫌疑人:CORS或AWS
CORS settings:
'Access-Control-Allow-Credentials': true
'Access-Control-Allow-Origin':config["cors"]["allowedUrl"] ## my domain name
'Access-Control-Allow-Methods':'GET,PUT,POST,DELETE,OPTIONS'
'Access-Control-Allow-Headers':'Origin, X-Requested-With, X-AUTHENTICATION, X-IP, Content-Type, Accept, authorization'
AWS安全组入站设置:
HTTP(TCP):端口80,Anywhere 所有TCP,无处不在 SSH,端口22
我已经尝试将其设置为“所有流量”,但问题仍然存在。
编辑:
我查看了net-internals,看到它似乎挂起了TCP连接尝试。它输出的os_error为60,虽然我不确定这意味着什么。我能在网上找到的最好的意思是它不是数据流。
654408: SOCKET
pm/my-website.com:3001
Start Time: 2018-05-30 09:16:35.655
t= 6075 [st= 0] +SOCKET_ALIVE [dt=75271]
--> source_dependency = 654407 (TRANSPORT_CONNECT_JOB)
t= 6075 [st= 0] +TCP_CONNECT [dt=75271]
--> address_list = ["35.153.17.199:3001"]
t= 6075 [st= 0] +TCP_CONNECT_ATTEMPT [dt=75271]
--> address = "35.153.17.199:3001"
t=81346 [st=75271] -TCP_CONNECT_ATTEMPT
--> os_error = 60
t=81346 [st=75271] -TCP_CONNECT
--> net_error = -118 (ERR_CONNECTION_TIMED_OUT)
t=81346 [st=75271] -SOCKET_ALIVE