簡體   English   中英

AWS EC2 實例連接在端口 8085 上被拒絕

[英]AWS EC2 instance connection refused on port 8085

我在 AWS 中有一個新的 EC2 實例,我也在其中托管一個網頁。 我將實例關聯到一個安全組,並且一些規則起作用(例如連接到 mysql 或 vesta)。 我用 nodeJS 創建了一個簡單的服務器,我想監聽來自端口 8085 的請求(我可以選擇任何......)。 我在安全組中創建了一個入站規則來監聽8085端口,它似乎想監聽,但是連接被拒絕:因為它被拒絕,我認為不是安全組問題。

在此處輸入圖像描述

這是入站安全規則:

在此處輸入圖像描述 在此處輸入圖像描述

我試過其他帖子提到“netstat -a -n | grep 8085”和“netstat -an | grep 8085”,但我什么也沒得到在此處輸入圖像描述 "

我什至禁用防火牆以防萬一在此處輸入圖像描述

這是我創建服務器的代碼

    const express = require('express');

    const app = express();
    
    const PORT = 8085;
    
    app.get('/', (req, res) => {
      res.send("testing");
    });
    
    app.listen(PORT, () => {
      console.log(`Server running at: http://localhost:${PORT}/`);
    });

當我運行它時,我在控制台中得到“服務器在 http://localhost:8085/ 運行”,但是當我在瀏覽器中鍵入 IP 地址:8085 時,我得到無法訪問站點。 (端口沒有監聽)

我究竟做錯了什么?

我不是一個 telnet 人,所以也許我錯過了一些東西。 您確實與機器建立了連接,否則您會收到超時錯誤,因此您的安全組沒問題。 但請注意,您正在偵聽 http 請求。 正如我之前所說,我不是 telnet 人,但我不認為您在終端中使用 http 協議,正如@EdsonCSouza 所提到的。 嘗試使用 curl 看看你會得到什么。

你的代碼似乎沒問題。 我在這里進行了測試,您的安全組似乎也不錯...當您檢查端口是否正在偵聽時,您能否檢查節點進程是否正在運行? 根據您提供的信息,這並不清楚。

缺少的另一件事是 VESTA 中的防火牆。 我又做了一切,直到我配置它才起作用。

在此處輸入圖像描述

您還可以檢查您的 VPC 的網絡訪問控制列表 (ACL) 嗎? 可能存在可能阻止此網絡 ACL的顯式拒絕

如果您嘗試將實例本地連接到 api 網關或其他任何方式,請嘗試將 localhost 更改為您的 ec2 實例的私有 IP。 這對我有用.. PS:可能有點偏離軌道但可以幫助某人

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM