![](/img/trans.png)
[英]Connecting to node.js server on same AWS instance different port, connection refused
[英]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 看看你會得到什么。
你的代碼似乎沒問題。 我在這里進行了測試,您的安全組似乎也不錯...當您檢查端口是否正在偵聽時,您能否檢查節點進程是否正在運行? 根據您提供的信息,這並不清楚。
您還可以檢查您的 VPC 的網絡訪問控制列表 (ACL) 嗎? 可能存在可能阻止此網絡 ACL的顯式拒絕
如果您嘗試將實例本地連接到 api 網關或其他任何方式,請嘗試將 localhost 更改為您的 ec2 實例的私有 IP。 這對我有用.. PS:可能有點偏離軌道但可以幫助某人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.