[英]Why my website hosted on aws refuses to connect?
我有一個在本地主機上完美運行的節點應用程序,我將它托管在端口 80 上的 AWS ec2 實例上,並且在我搜索我的 ec2 實例的公共 IP 地址(在任何瀏覽器上)7 天不活動后,它也運行良好,它說<public_ipv4> 拒絕連接。
以下是我從 AWS 論壇閱讀但沒有得到任何運氣的故障排除方法:
刪除 node_modules/ 目錄並使用 npm install 命令重新安裝
已在該實例的安全組的入站規則內正確允許端口 80 上的 HTTP 流量(我只有一個實例在運行)
跑 netstat -nplt | grep 80,這給了我 output:
tcp6 0 0:::80:::* 聽
我在 package.json 文件中添加了一個腳本,app.js 文件將通過該腳本運行
在我的 app.js 文件中,我正在監聽端口 80:
app.listen(80, async function(){
console.log("server has started");
})
我還缺少什么?
看來您在安全組的入站流量上僅允許 IP v6 地址..
未添加允許 IPv4 地址的權限..
添加以下規則
HTTP tcp 0.0.0.0/0 80
如果您同時添加了規則(IPV4 和 IPV6),那么
sudo netstat -tnlp | grep :80
應該顯示在兩條線下面..
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
但在你的情況下它只顯示 tcp6
在我的 app.js 文件中,我使用了端口 80:
app.listen(80, async function(){
console.log("server has started");
})
但是當我在 app.listen 中將端口號更改為 3000 時,它起作用了,但我不知道這是怎么發生的。 安全組沒有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.