Saya perlu menjalankan Apache2 di server Debian 7 saya. Tapi itu berjalan hanya pada port tcpv6, bukan pada port tcpv4. Saya menginstalnya dengan apt-get install. Jika saya pergi ke localhost atau 127.0.0.1 atau alamat IPv4 server saya tidak menampilkan situs web apa pun.
Saya /etc/apache2/ports.conf
:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
netstat -plntu
:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3558/sshd
tcp 0 0 0.0.0.0:3466 0.0.0.0:* LISTEN 2820/mysqld
tcp6 0 0 :::80 :::* LISTEN 2097/apache2
tcp6 0 0 :::22 :::* LISTEN 3558/sshd
debian
apache-httpd
Mato
sumber
sumber
Listen 80
keListen 0.0.0.0:80
. Anda dapat merujuk ke dokumentasi httpd.apache.org/docs/2.2/bind.html untuk informasi lebih lanjut.sudo iptables -nvL
dansudo sestatus
? Saya pikir Anda memiliki beberapa firewall lokal yang mencegah.a2enmod php5
harus melakukannya untuk Anda.::
.Jawaban:
Fakta bahwa netstat hanya menunjukkan tcp6 di sini bukanlah masalah. Jika Anda tidak menentukan alamat untuk didengarkan, apache akan mendengarkan semua keluarga alamat yang didukung menggunakan soket tunggal (untuk alasan desain, sshd menggunakan soket unik per keluarga alamat & alamat, maka muncul dua kali dalam output netstat Anda).
Inilah salah satu sistem saya, menunjukkan apache hanya memiliki soket tcp6, namun masih berfungsi dengan baik melalui IPv4 dan IPv6.
Jika Anda menjalankan
wget http://127.0.0.1/ -O -
di server apa yang terjadi? Apakah itu berhasil terhubung? Apakah ini mengembalikan HTML mentah ke situs web Anda seperti yang diharapkan?sumber
INADDR_ANY
danIN6ADDR_ANY_INIT
. Tetapi hari ini saya telah melihat beberapa perilaku yang sangat aneh. Tidak ada perubahan firewall, tidak ada perubahan Apache tapi entah bagaimana host jarak jauh hanya dapat terhubung melalui IPv6 - yang merupakan masalah bagi mereka yang masih tidak memiliki IPv6. Ini pasti sesuatu yang saya akan kerjakan tetapi Anda benar-benar benar (meskipun doa yang Anda berikan tidak berlaku dalam kasus saya sayangnya).Ini hanya akan menangani koneksi IPV4:
https://httpd.apache.org/docs/2.2/bind.html#ipv6
sumber
127.0.0.1 hanya bersifat lokal untuk mesin, Anda harus berada di server sendiri di browser untuk menggunakan ip / address loopback lokal;
Anda mungkin memiliki firewall yang memblokir port;
Pastikan apache berjalan dan berfungsi dengan baik, periksa log kesalahan;
Periksa ulang semua konfigurasi apache Anda;
Apakah Anda hosting dari root www atau direktori public_html pengguna?
Periksa pemilik dan izin.
Hampir tahun 2019 (Selamat datang di masa depan):
Secara default sebagian besar dunia menggunakan ipv6 dan jika gagal, kembali ke ipv4;
Kami sekarang memiliki terowongan ipv4 di atas ipv6, dan sebaliknya;
Sebagian besar OS, program, klien, dan server kebanyakan melakukan ini sekarang;
Selamat datang di dunia tanpa NAT lagi dan harus bergantung pada firewall / filter langsung ke perangkat Anda;
Saya akan merekomendasikan mencoba untuk menjaga sistem Anda semua ditumpuk ganda, mendukung ipv4 dan ipv6 pada saat yang sama, jadi ketika sakelar ajaib terjadi, Anda masih dapat menjalankannya. OS saya, jaringan, bahkan ISP saya adalah dual stack end to end. Saya bisa mematikan ipv4 sepenuhnya jika saya mau, tapi apa yang ada di luar sana yang mungkin tidak berfungsi lagi jika tidak ada terowongan kembali ke ipv6 dari ipv4.
sumber
*
* mewakili koneksi ke server lokal tanpa menangani IPv4 atau IPv6, jika Anda mengubah localhost (atau 127.0.0.1) menjadi alamat IP IPv4 nyata dari server ini, Anda tidak dapat kehilangan apa pun karena koneksi ditolak.
Cobalah untuk menggambarkan IP Anda dalam file konfigurasi: NameVirtualHost: 80 Dengarkan: 80
sumber