Windows Firewall memiliki port 80 terbuka tetapi mencegah Apache membuat koneksi


11

Saya memiliki mesin Windows 7 yang melayani sangat sedikit (tetapi penting!) Halaman. Saya memiliki pengecualian yang memungkinkan lalu lintas ke port 80 *, tetapi Apache 2.2 masih tidak dapat melayani halaman (meskipun saya bisa melihatnya dari mesin itu sendiri). Namun, jika saya menonaktifkan Windows Firewall sepenuhnya, saya dapat melakukan ping ke kotak dan memuat halaman.

Apa lagi yang perlu saya konfigurasi agar Apache dapat melakukan tugasnya?

* Sebenarnya, hal yang sama terjadi bahkan jika saya mengubah pengecualian menjadi "semua port" daripada hanya 80.


3
1. Berhenti menggunakan ping sebagai alat pengujian layanan. Apakah Anda dapat melakukan ping host atau tidak tidak relevan dengan apakah situs web berjalan dan dapat diakses. 2. Profil jaringan mana yang aktif di firewall Windows dan profil jaringan mana yang terikat peraturan Anda?
joeqwerty

@ joeqwerty: Saya menyebutkan ping hanya untuk memberikan informasi tambahan.
Charles

Jawaban:


10

Apakah port 80 terbuka pada firewall Anda, tidak berarti ping akan mulai berfungsi jika Apache berjalan dengan benar. Ping menggunakan ICMP yang merupakan protokol miliknya sendiri yang perlu dibuka pada firewall untuk menerima balasan ping dari mesin Anda. Jadi jangan mengandalkan ping untuk memverifikasi apakah konfigurasi apache / konfigurasi firewall Anda berfungsi.

Menanggapi aturan firewall Anda untuk tcp 80, silakan buka properti aturan Anda dan periksa apakah semua 3 kotak centang (Domain, Privat, Publik) dicentang, dan jika tidak memeriksanya. masukkan deskripsi gambar di sini

Berikut ini adalah HOWTO dengan langkah-langkah tepat yang perlu Anda ambil untuk membuka port 80 pada tautan Windows 7:

Memperbarui:

Periksa juga apakah Anda tidak memblokir proses apache itu sendiri dengan Windows Firewall.
1. Buka Panel Kontrol
2. Pilih Sistem dan Keamanan
3. Di bagian Windows Firewall, pilih Izinkan program melalui Windows Firewall .
masukkan deskripsi gambar di sini
4. Menghapus centang pada kotak di sebelah kiri nama aplikasi melarangnya mengakses sumber daya jaringan, sementara memeriksa itu memungkinkan akses.
masukkan deskripsi gambar di sini
Jika Apache tidak terdaftar, Anda dapat mengklik tombol Izinkan program lain… untuk menambahkannya dan kemudian centang kotak di bawah Home / Work dan Public.


Ketiganya diperiksa. Situs web tidak akan terbuka di browser (kecuali di server itu sendiri).
Charles

1
@ Charles: Dalam hal ini lakukan 5 hal ini: 1. Aktifkan firewall logging pada mesin Windows 7. 2. Instal program penangkapan paket pada mesin Windows 7. 3. Mulai penangkapan. 4. Coba jelajahi situs web dari komputer lain. 5. Hentikan pengambilan dan periksa dan log firewall untuk petunjuk tentang apa yang terjadi.
joeqwerty

Apakah Anda yakin telah membuat aturan di Inbound Rulespanel kiri?
George Tasioulis

@ Charles silakan periksa pembaruan saya.
George Tasioulis

1
@ George: Itu dia. Mengizinkan "Monitor Server Apache" (selain pengecualian port 80) membuatnya berfungsi.
Charles

2

Periksa layanan "Branch cache" dan hentikan jika berjalan.


1

Jika menonaktifkan firewall sepenuhnya mengatasi masalah ini, tetapi aturan pengecualian Anda tidak, maka saya berani mengatakan bahwa pengecualian Anda salah.

Menurut Microsoft , langkah pertama dalam mengatasi masalah firewall adalah memverifikasi profil aktif (Publik, Pribadi atau Domain).

Langkah pertama dalam memecahkan masalah masalah Windows Firewall adalah memverifikasi profil mana yang aktif. Windows Firewall dengan Keamanan Tingkat Lanjut adalah aplikasi yang sadar lokasi jaringan. Saat lokasi jaringan di mana komputer terhubung untuk berubah, profil Windows Firewall berubah. Profil tersebut menjelaskan pengaturan dan aturan Windows Firewall yang diterapkan tergantung pada jenis lokasi jaringan koneksi jaringan yang aktif.

Jadi satu kemungkinan adalah bahwa Anda membuat aturan yang benar tetapi di profil yang salah.

Semoga itu bisa membantu.


Pemikiran bagus, +1. Ini bukan masalah saya, tetapi saya bisa melihat seseorang membuat kesalahan ini.
Charles

0

Httpd.conf Anda mungkin membatasi untuk klien di localhost atau subnet lokal saja.

Di set httpd.conf Anda:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

dan mungkin juga yang ini:

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>

Bukan masalah, karena jika saya mematikan firewall masalahnya hilang. (Juga, sebelum meningkatkan ke Win7, httpd.conf yang sama berfungsi dengan baik selama bertahun-tahun.)
Charles

0

Firewall Anda tidak mengizinkan koneksi baru untuk membagikan informasi tanpa persetujuan Anda. HANYA yang harus dilakukan adalah memberikan izin Anda ke firewall Anda.

  1. Pergi ke pengaturan Firewall di Control Panel
  2. Klik Pengaturan Lanjut
  3. Klik Aturan Masuk dan Tambahkan aturan baru.
  4. Pilih 'Jenis Aturan' ke Port.
  5. Izinkan ini untuk Semua Program.
  6. Izinkan aturan ini diterapkan pada semua Profil yaitu Domain, Pribadi, Publik.
  7. Berikan aturan ini nama apa saja.

Itu dia. Sekarang PC dan ponsel lain yang terhubung pada jaringan yang sama dapat mengakses situs lokal. Mari Mulai Pengembangan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.