簡體   English   中英

無法通過公網IP訪問EC2

[英]Can't access EC2 through public IP

我已經設置了一個 VPC 並在其公共子網之一中創建了一個 EC2 實例。 實例的用戶數據有下面的簡單代碼。 當我連接到實例時,我得到的只是下面的屏幕截圖。 它應該是一個網頁,上面寫着你好世界。 有人能指出我正確的方向嗎?

我太新了,無法嵌入圖像,所以 Stackoverflow 給了我一個圖像鏈接: https ://i.stack.imgur.com/jGqcY.png 這是我通過瀏覽器訪問公共 IP 地址時得到的結果: Chrome剪輯

編輯:我想做的是通過公共 IP 訪問網站,但無法連接。 另請參閱 shell 中的“拒絕連接”:拒絕連接

EDIT2:當我嘗試獲取相關 IP 時,也來自 shell。 這是什么意思? 指定地區

Edit3: curl 本地主機連接被拒絕

Edit4:入站 SG出站 SG

# #!/bin/bash

#Use this for your user data (script from top to bottom)

#install httpd (Linux 2 version)

yum update -y

yum install -y httpd

systemctl start httpd

systemctl enable httpd

echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

我已確保公共子網與目的地為 0.0.0.0/0 且目標為 IGW 的路由表相關聯。

SG 允許來自 IPv4 和 IPv6 的所有 HTTP 和 HTTPS 流量。

ACL 允許所有出站和入站流量,所有子網都與之相關聯。

看起來你的網絡服務器沒有運行(基於你從盒子里做curl時得到的拒絕)

調查試試這個

sudo cat /var/lib/cloud/instance/scripts/part-001這應該顯示你的用戶數據腳本——如果沒有,那么你以某種方式錯誤配置了用戶數據

sudo cat /var/log/cloud-init-output.log查看用戶數據腳本運行時發生的事情的日志。 如果您在此處看到錯誤,那么您將需要調試並更正您的用戶數據

同樣作為調試的一部分,您可以嘗試從命令行在您的用戶數據中運行相同的命令,看看您是否得到一個工作的網絡服務器(看看curl是否工作)。 在從命令行運行這些之前,您可能需要sudo su

請注意,如果您更改用戶數據,它不會對已經運行的 EC2 實例生效。 用戶數據僅在 EC2 服務器最初啟動時運行。

暫無
暫無

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

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