Linux

無法從我的 ubuntu EC2 實例訪問 https

  • March 3, 2019

我剛剛創建了一個新的“帶有密碼片語的 SSH 密鑰”,用於從我的 AWS EC2 實例訪問 github 私有儲存庫。現在我複製我的回購很好。但是問題開始於我無法訪問任何 https。它給我連接被拒絕。甚至 sudo apt-get update 命令也停止工作,我也無法從我的程式碼中訪問 AWS S3 資源。它給了我同樣類型的錯誤。

有人可以建議我解決這個問題嗎?

我在測試 https 站點時出錯(不確定我是否應該像這樣測試)

ubuntu@ip-10-0-1-126:~$ curl -k https://www.facebook.com/ curl: (7)
Failed to connect to www.facebook.com port 443: Connection refused

當我嘗試安裝 golang 包時出現另一個錯誤。

ubuntu@ip-10-0-1-126:~$ go get -u -v  github.com/Jeffail/tunny
github.com/Jeffail/tunny (download)
cd /home/ubuntu/go/src/github.com/Jeffail/tunny
git pull --ff-only fatal: unable to access 'https://github.com/Jeffail/tunny/': Failed to connect to github.com port 443: Connection refused 
package github.com/Jeffail/tunny: exit status 1

ubuntu@ip-10-0-1-126:~$ go get -v gopkg.in/yaml.v2
Fetching https://gopkg.in/yaml.v2?go-get=1 https fetch failed: 
Get https://gopkg.in/yaml.v2?go-get=1: dial tcp 35.196.143.184:443: connect: connection refused package gopkg.in/yaml.v2: unrecognized import path "gopkg.in/yaml.v2" (https fetch: Get https://gopkg.in/yaml.v2?go-get=1: dial tcp 35.196.143.184:443: connect: connection refused)

我的 sudo apt-get update 命令的輸出:

ubuntu@ip-10-0-1-126:~$ sudo apt-get update
Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease   Could not connect to security.ubuntu.com:80 (91.189.88.149). - connect (111: Connection refused)
Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::19). - connect (101: Network is unreachable) Could not connect to security.ubuntu.com:80 (91.189.91.26). - connect (111: Connection refused)
...
W: Failed to fetch http://ap-south-1.ec2.archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease
Unable to connect to ap-south-1.ec2.archive.ubuntu.com
...

看起來你有:

  • iptables禁止到 HTTPS 的出站流量的本地防火牆( )。跑來iptables -L OUTPUT看看你有什麼規則。
  • 您的實例的安全組禁止對 HTTPS 的出站訪問。在 AWS 控制台中檢查它。

除非您同時更改了其他內容,否則向您的實例添加 SSH 密鑰不會產生這樣的影響。

希望有幫助:)

根據評論 - 您的PREROUTING必須排除本地流量,即

iptables -t nat -A PREROUTING -p tcp ! --source 10.0.1.0/24 --dport 80 -j DNAT --to-destination 10.0.1.126:80

( )之前的驚嘆號! --source 10.0.1.0/24確保僅針對來自外部的流量評估規則,而不針對源自 VPC 的流量評估規則。

希望有幫助:)

引用自:https://serverfault.com/questions/956498