gpt4 book ai didi

amazon-web-services - EC2 Meteor 部署上的 Web 连接被拒绝

转载 作者:行者123 更新时间:2023-12-02 19:44:36 26 4
gpt4 key购买 nike

我正在使用 MUP 将 meteor 应用程序部署到运行 Ubuntu 18 的 EC2 实例。我的部署似乎有效,但是 当我尝试在浏览器中访问实例的公共(public) URL 时,我得到“连接被拒绝”。 我要疯了这个!
我认为这将是一个 AWS 问题,例如端口未打开,但我的 EC2 入站规则似乎应该可以工作:
enter image description here
我通过 SSH 连接到实例以查看是否一切正常,我认为可以。对于初学者来说,docker 容器似乎运行良好:

CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                NAMES
2b70717ce5c9 mup-oil-pricing:latest "/bin/sh -c 'exec $M…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp oil-pricing
当我点击 curl localhost:80 时,仍然通过 SSH 连接我在控制台中返回 HTML,这表明应用程序(Meteor 应用程序)运行良好。
我检查了 Ubuntu 防火墙是否处于事件状态,但我认为不是:
ubuntu@ip-172-30-1-118:~$ sudo ufw status verbose
Status: inactive
我的端口看起来也不错(据我所知):
ubuntu@ip-172-30-1-118:~$ sudo netstat -tulpn | grep LISTEN
tcp 0 0 10.0.3.1:53 0.0.0.0:* LISTEN 3230/dnsmasq
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 344/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7903/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 7903/sshd: /usr/sbi
tcp6 0 0 :::80 :::* LISTEN 13597/docker-proxy
但是,当我在本地计算机上访问 Chrome 并尝试通过我分配的弹性 IP ( 34.231.39.181) 或通过 EC2 地址 ( https://ec2-34-231-39-181.compute-1.amazonaws.com/) 使用 EC2 实例访问该站点时,我得到:
This site can’t be reached
ec2-34-231-39-181.compute-1.amazonaws.com refused to connect.
我认为这不是 MUP 问题,但这里是 MUP 配置,以防万一:
module.exports = {
servers: {
one: {
host: '34.231.39.181',
username: 'ubuntu',
pem: [[MY PEM FILE]]
}
},

hooks: {
'pre.deploy': {
remoteCommand: 'docker system prune -a --force' // PRUNE DOCKER IMAGES
},
},

app: {
name: 'oil-pricing',
path: '../',
servers: {
one: {},
},

buildOptions: {
serverOnly: true,
},



env: {
ROOT_URL: 'https://ec2-34-231-39-181.compute-1.amazonaws.com/',
MONGO_URL: [[MY MONGO URL]]
PORT: 80,
},



docker: {
image: 'abernix/meteord:node-8.15.1-base', // per: https://github.com/zodern/meteor-up/issues/692
},

enableUploadProgressBar: true
},

};
当我运行 mup deploy一切检查:
Started TaskList: Pushing Meteor App
[34.231.39.181] - Pushing Meteor App Bundle to the Server
[34.231.39.181] - Pushing Meteor App Bundle to the Server: SUCCESS
[34.231.39.181] - Prepare Bundle
[34.231.39.181] - Prepare Bundle: SUCCESS

Started TaskList: Configuring App
[34.231.39.181] - Pushing the Startup Script
[34.231.39.181] - Pushing the Startup Script: SUCCESS
[34.231.39.181] - Sending Environment Variables
[34.231.39.181] - Sending Environment Variables: SUCCESS

Started TaskList: Start Meteor
[34.231.39.181] - Start Meteor
[34.231.39.181] - Start Meteor: SUCCESS
[34.231.39.181] - Verifying Deployment
[34.231.39.181] - Verifying Deployment: SUCCESS
如果这很重要,我正在使用 Meteor 1.8.1。
任何帮助将不胜感激!

最佳答案

您的 sudo netstat -tulpn | grep LISTEN表明您正在监听端口 80。但您正在使用 HTTPS:

https://ec2-34-231-39-181.compute-1.amazonaws.com
这将连接到端口 443,没有任何东西监听。因此,要么更改您的应用程序以监听端口 443 上的 HTTPS 连接(需要适当的 ssl 证书),要么使用将转到端口 80(未加密)的 HTTP:
http://ec2-34-231-39-181.compute-1.amazonaws.com

关于amazon-web-services - EC2 Meteor 部署上的 Web 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64271147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com