Tidak dapat mengakses https dari instance ubuntu EC2 saya

0

Saya baru saja membuat "kunci SSH baru dengan frasa sandi" untuk akses repo pribadi github dari instance AWS EC2 saya. Sekarang saya mengkloning repo saya dengan baik. Tetapi masalah mulai bahwa saya tidak dapat mengakses https. Itu memberi saya koneksi ditolak. Bahkan perintah pembaruan sudo apt-get berhenti bekerja dan saya juga tidak dapat mengakses sumber daya AWS S3 dari kode saya. Itu memberi saya jenis kesalahan yang sama.

Dapatkah seseorang menyarankan saya solusi untuk masalah ini?

Kesalahan saat saya menguji situs https (Tidak yakin apakah saya harus menguji seperti ini)

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

Kesalahan lain ketika saya mencoba menginstal paket 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)

Output dari perintah pembaruan sudo apt-get saya:

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
...
Debasish Mitra
sumber

Jawaban:

2

Sepertinya Anda punya:

  • Firewall lokal ( iptables) yang melarang lalu lintas keluar ke HTTPS. Berlari iptables -L OUTPUTuntuk melihat aturan apa yang Anda miliki.

  • Grup Keamanan instance Anda melarang akses Outbound ke HTTPS. Periksa di Konsol AWS.

Menambahkan kunci SSH ke instance Anda tidak akan berdampak seperti ini kecuali jika Anda juga mengubah sesuatu yang lain pada saat yang sama.

Semoga itu bisa membantu :)

MLu
sumber
Saya menemukan masalah mendasar. Arsitektur AWS saya memiliki subnet publik yang memiliki instance NAT. Ini meneruskan lalu lintas pada port tertentu ke instance EC2 saya yang dihosting di subnet pribadi yang terpisah. sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.1.126:80 Tapi saya juga perlu menyediakan akses internet keluar ke instance EC2 pribadi saya. sudo iptables -t nat -A POSTROUTING -o eth0 -s 10.0.1.0/24 -j MASQUERADE Ini menghasilkan semua permintaan yang dihasilkan oleh EC2 pribadi saya untuk mengulangi sendiri. Aturan mana yang perlu dimodifikasi untuk mencegah perilaku ini?
Debasish Mitra
@ DebasishMitra Mengapa Anda tidak menggunakan NAT Gateway bukan NAT Instance berbasis EC2 ?
MLu
Ini adalah hal yang mendasar sehingga saya percaya instance NAT harus dapat menyelesaikan persyaratan dasar ini dan mengingat bahwa ini adalah lingkungan pengembangan. Saya ingin membatasi biaya infra AWS saya dengan menggunakan instance NAT sebagai gantinya. Saya telah mengajukan pertanyaan terpisah untuk ini dan telah menjelaskan masalahnya sedikit lebih baik di sana. serverfault.com/questions/956522/...
Debasish Mitra
0

Berdasarkan komentar - PREROUTING Anda harus mengecualikan lalu lintas lokal, yaitu

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

Tanda seru sebelum sumber ( ! --source 10.0.1.0/24) memastikan bahwa aturan hanya dievaluasi untuk lalu lintas yang datang dari luar, bukan untuk lalu lintas yang berasal dari VPC.

Semoga itu bisa membantu :)

MLu
sumber
Jawaban yang bagus Menandai komentar Anda sebagai jawaban di kedua pos.
Debasish Mitra