我正在使用免费套餐的AWS Linux实例,我已经安装了NodeJs并启动了我的
当我ssh到实例并使用cURL时,我的应用程序有响应,但是从Chrome使用实例公共IP没有响应。
我已经在
以下是我尝试使其工作的情况:
有人能给我更多的见解吗?或者我有什么遗漏的吗?我一直被这个问题困扰着。
当我将端口设置为
已经使用yum在服务器上安装的软件:
备注:我已经阅读了所有关于无法从互联网访问应用程序的StackOverflow问题,但在我的情况下,我的应用程序可以从端口
Express JS
应用程序(sudo node bin/www
),我的应用程序运行在3000端口。当我ssh到实例并使用cURL时,我的应用程序有响应,但是从Chrome使用实例公共IP没有响应。
我已经在
安全组
中添加了端口80、22、3000,以便从任何地方访问该应用程序。[见附图]此实例正在N. Virginia region
中运行。以下是我尝试使其工作的情况:
- 使用带有端口3000的
Public IP
启动我的应用程序 - 使用带有端口3000的
Private IP
启动我的应用程序 - 使用带有端口3000的
0.0.0.0
启动我的应用程序 - 使用带有端口3000的
localhost
启动我的应用程序
有人能给我更多的见解吗?或者我有什么遗漏的吗?我一直被这个问题困扰着。
当我将端口设置为
80
时,我能够访问应用程序,但是因为我在端口80
上运行前端框架,所以我需要使用端口3000
。已经使用yum在服务器上安装的软件:
- yum update
- gcc-c++ make
- openssl-devel
- 来自官方网站的nodejs
- npm install -g npm // 更新npm
- mongodb
备注:我已经阅读了所有关于无法从互联网访问应用程序的StackOverflow问题,但在我的情况下,我的应用程序可以从端口
80
访问,而不是从3000
。
3000
的类型设置为任何位置。启动应用程序的代码:sudo node bin/www
- RohithExpress JS
,我使用express generator
命令开发了我的应用程序:npm install express-generator -g
有一个标准的www
文件来运行应用程序,我只是更改了var port = normalizePort('3000');
如果您需要更多信息,请告诉我。 - Rohithres.header('Access-Control-Allow-Origin', allowedOrigins); - Lucas Hendren