Tidak dapat mengakses situs pada instance EC2 melalui ip publik

10

Saya punya Amazon EC2 mikro contoh dengan jendela 2008 server dan digunakan satu contoh aplikasi web di sana yang menggunakan java dan digunakan pada server 7 kucing jantan. Saya dapat mengaksesnya secara lokal, tetapi ketika saya mencoba mengaksesnya di luar AWS misalnya katakanlah dari komputer di rumah saya menggunakan AWS DNS publik / alamat IP publik / alamat IP elastis contoh, itu memberi saya "halaman web adalah tidak tersedia".

Saya telah melalui begitu banyak pertanyaan serupa di forum ini dan saya pikir saya telah melakukan semua pengaturan yang mereka minta, tetapi masih tidak berhasil.

Inilah yang telah saya lakukan / konfirmasi.

1. localhost berfungsi, jadi aplikasi mendengarkan pada port 80.

2. menambahkan aturan masuk untuk HTTP pada port 80 untuk semua orang di bawah grup keamanan yang digunakan oleh instance saya.

3. memeriksa pengaturan firewall pada contoh windows, memastikan port 80 tidak diblokir.

4. mencoba bahkan dengan mematikan firewall, tetapi tidak berhasil.

Saya akan sangat menghargai jika seseorang dapat membantu saya dalam hal ini.

Terima kasih, NS

pengguna242725
sumber
1
Apa yang dikatakan telnet kepada Anda dan traceroute?
Pratap

Jawaban:

5

Saya memiliki masalah frustasi yang sama ketika saya menginstal JetBrains YouTrack pada contoh Windows Server 2012 ec2. Apa yang berhasil bagi saya adalah membuka port firewall Windows yang digunakan java secara khusus dan menonaktifkan port layanan World Wide Publishing. Saya juga harus menjalankan layanan YouTrack di bawah akun LocalSystem alih-alih akun default.

Coba ini:

  • Matikan situs web standar di IIS jika sedang digunakan

  • Jalankan netstat -a -b untuk menemukan port yang berusaha diikat oleh java.exe misalnya:

    TCP 0.0.0.0:80 WIN-9NFIG6IEPT6: 0 MENDENGARKAN [java.exe]

    TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6: 49307 DIDIRIKAN [java.exe]

  • Buka manajer kontrol layanan dan klik kanan pada layanan Anda dan buka dialog properti. Pada tab Masuk Sebagai, pilih Akun Sistem Lokal sebagai akun yang digunakan layanan. Adalah penting bahwa pengguna ini menjadi Administrator

  • Saya sangat merekomendasikan menyalakan firewall kembali.
  • Buka tab Aturan aturan masuk firewall dan nonaktifkan Aturan Layanan World Wide Web (HTTP-In)
  • Buat aturan baru untuk Tomcat dengan TCP Port 80 dan port lain yang mungkin diperlukan.

  • Simpan aturan dan uji url Anda dari luar server.

Terrence Young
sumber
4

Anda seharusnya tidak mematikan pengaturan firewall sepenuhnya. Ini akan membahayakan keamanan aplikasi Anda. Alih-alih memodifikasi aturan firewall masuk windows server untuk memungkinkan lalu lintas masuk pada port tertentu.

Saya memiliki masalah serupa di mana saya telah menggunakan aplikasi pada Tomcat 8 di windows 2012 server yang disediakan melalui AWS EC2. Aku bisa mengakses aplikasi ditempatkan di http: // localhost: 8080 dari dalam VM tetapi bukan dari internet publik setelah mengganti localhost string dalam URL dengan alamat IP publik dari VM.

Ini bekerja dengan baik setelah saya mengubah aturan firewall untuk mengizinkan lalu lintas masuk pada port 80 (untuk http), port 443 (untuk https) dan port 8080 (ini adalah port tempat aplikasi web saya digunakan secara default pada server kucing jantan.

Saya telah mendokumentasikan konfigurasi grup firewall dan keamanan di tautan di bawah:

http://abhirampal.com/2015/08/04/firewall-config-for-java-web-app-hosted-on-aws-ec2-windows-2012-server/

Abhi Rampal
sumber
1
Luar biasa, Anda menyelamatkan hari saya <3
Thamaraiselvam
1

Anda mungkin salah mengonfigurasi server web. Anda dapat mengujinya dengan menghubungkan ke server melalui:

telnet $IP 80

jika Anda tidak mendapatkan kesalahan, Anda dapat terhubung. Dalam hal ini Anda tidak mengatur server web dengan benar.

Peter Lamby
sumber
Anda benar, saya tidak dapat terhubung melalui telnet dari komputer lokal saya ke contoh aws. Bisakah Anda membantu saya bagaimana cara memperbaikinya? Saya mencoba mencari IIS pada contoh aws dan sedang berjalan.
user242725
Terima kasih. Ini berfungsi setelah mematikan domain, firewall pribadi dan publik, misalnya. Tetapi tidak yakin, bagaimana saya bisa mengamankan instance dan pada saat yang sama mengakses webapp saya di luar instance.
user242725
1

Aturan untuk port TCP 80 Inbound mungkin perlu dimasukkan dalam AWS Security Group untuk instance Anda.

Jaybro
sumber
1

Anda mungkin perlu membuat port tersedia untuk mendengarkan panggilan publik apa pun dari konsol AWS.

freaksterz
sumber
Konsol AWS memiliki banyak fitur, mungkin Anda bisa lebih spesifik.
kmarsh
1

Dua hal untuk saya:

  1. Modifikasi grup Keamanan yang terlampir pada instance RDS saya untuk memungkinkan lalu lintas masuk dan keluar

  2. Menetapkan aturan masuk dan keluar di RDS untuk port aplikasi

Langkah-langkah terperinci:

  • Di bilah atas konsol AWS Anda, klik Layanan, pilih EC2

  • Di menu sebelah kiri dari jendela berikutnya, dalam instance, klik instance untuk melihat Anda instance

  • Di tabel yang berisi contoh yang ingin Anda akses dari publik, gulir ke kanan ke kolom bernama Grup Keamanan. Klik pada grup keamanan ini.

  • Di tabel yang menampilkan, gulir ke bawah yang memiliki deskripsi grup keamanan dan tab lain seperti Masuk, Keluar, Tag
  • Klik pada tab masuk. Klik edit. Secara default ada satu aturan (RDP).
  • Mari kita tambahkan dua lagi
  • Klik tombol Tambahkan Aturan.
  • Pilih Semua Lalu Lintas untuk Jenis, Semua untuk Protokol
  • Biarkan kisaran port (0 - 65535), pilih sumber sebagai Kustom.
  • Semua ini berlaku untuk kedua aturan 2) Untuk aturan pertama, di kotak teks yang muncul setelah sumber, masukkan 0.0.0.0/0 3) Untuk aturan kedua, masukkan :: / 0 4)
  • Hit Save

    Sekarang masuk ke AWS RDS Anda untuk menetapkan aturan masuk dan keluar melalui tembok api

  • Luncurkan panel kontrol. Klik System and Security (mungkin yang pertama), dan klik Windows Fire wall. Kemudian klik Pengaturan Lanjut

  • Klik menu Aturan Masuk di sebelah kiri.

  • Di tab Tindakan (di sebelah kanan), klik Aturan Baru

  • Pilih Port dan klik berikutnya

  • Pilih TCP (jika tidak dipilih), dan di bawah ini Pilih port lokal spesifik.

  • Pada bidang isikan nomor port aplikasi Anda dan klik next

  • Pilih Izinkan koneksi dan klik berikutnya.

  • Tentukan nama aturan. Sesuatu seperti nama aplikasi Anda untuk tujuan keterbacaan dan klik selesai

Kemudian, mari kita konfigurasikan lalu lintas keluar

  • Pada menu yang sama dengan Aturan Masuk, Pilih aturan Keluar dan ikuti prosedur yang sama seperti yang dijelaskan untuk aturan masuk
  • Setelah pengaturan ini, Anda harus dapat mengakses aplikasi Anda dari luar
Deo
sumber
0

Silakan merujuk tautannya .. Itu akan lebih spesifik.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

Anda dapat mengizinkan komunikasi antara semua instance yang terkait dengan grup keamanan ini, atau antara instance yang terkait dengan grup keamanan lain dan instance yang terkait dengan grup keamanan ini. Klik Tambahkan Aturan, pilih Semua ICMP, lalu mulai ketikkan ID grup keamanan di Sumber; ini memberi Anda daftar grup keamanan. Pilih grup keamanan dari daftar. Ulangi langkah-langkah untuk protokol TCP dan UDP. Klik Simpan ketika Anda selesai.

freaksterz
sumber
0

Sebagian besar masalah dengan Windows Firewall. Saya mencoba langkah yang sama seperti yang Anda lakukan itu tidak berhasil. Saat saya menghidupkan firewall itu baik-baik saja. Saya pikir keamanan tidak akan terpengaruh karena kami mengonfigurasi aturan keluar masuk.

pengguna408251
sumber
-1

Untuk WINDOWS Instance - Klik kanan Nama Instance EC-2, telusuri file .pem yang dibuat selama Pembuatan Instance dan klik Decrypt password. Anda akan mendapatkan nama pengguna dan kata sandi untuk terhubung melalui Start -> Run -> mstsc -> IP Windows dengan Windows Authentication sebagai Administrator dan kata sandinya

Untuk LINUX Instance -> Unduh puttygen dan klik tombol LOAD untuk memilih file .pem dan kemudian klik tombol GENERATE untuk menghasilkan file ppk. Melalui dempul, masukkan IP dan di bawah Koneksi -> SSH -> AUTH -> Browse untuk memilih file .ppk dan menyimpan sesi dempul.

Robertson Bhadrachalam
sumber
Ini akan menjadi jawaban yang bagus jika pertanyaannya adalah "bagaimana cara saya login dengan kunci SSH saya". Tetapi pertanyaannya adalah "bagaimana cara saya mengakses halaman web dari browser saya".
Jenny D