Netstat'ta çalışan apache'yi görmüyorum


10

Ben sadece apache ile oynuyorum ve işe aldım, yani göz atarak sunucuya bağlanabiliyorum http://127.0.0.1ve http://192.168.1.5IPv6 çalıştırmıyorum

Yine de bu netstat'ın sonucudur

$ sudo service apache2 status
 * apache2 is running
$ netstat -an | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN

$ wget 127.0.0.1
--2014-06-26 01:32:15--  http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11510 (11K) [text/html]
Saving to: ‘index.html’

100%[=====================================================================================================>] 11,510      --.-K/s   in 0s      

2014-06-26 01:32:15 (161 MB/s) - ‘index.html’ saved [11510/11510]

Ben açıkça yaptığı düzenli bir TCP dinlerken görmek bekliyordum !?

Düzenle:

$ netstat -a | grep LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 localhost:mysql         *:*                     LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 [::]:https              [::]:*                  LISTEN     
tcp6       0      0 [::]:http               [::]:*                  LISTEN     

Edit2: Neden aşağı oy? Birini ayrıntılı olarak açıklayabilecek neyim eksik?


netstat -a'yı deneyin | grep LISTEN ve post output
Lety

Sonuç gönderildi
meccooll

Denediniz netstat -pmi?
muru

son iki satır 80 ve 443 numaralı bağlantı noktasını dinleyen apache'ye başvurur. işlemi / pid'i görüntülemek için muru önerisini deneyin.
Lety

@Letizia doğru ama ilk sütunda tcp6 diyor ve IPv6 olan ip için ::, ama ben IPv4 ona bağlanıyor ???
meccooll

Yanıtlar:


17

TL; DR

Apaçi gelmez senin görünür netstatçıktı ve bir çalışan. Bu yüzden wgetçağrınız çalışıyor. Ancak, IPv4 adresiniz yerine IPv6 adresinize bağlıdır. Adres eşleme gerektiğinde çeviriyi işler.

Dokümanlar için gidiyor

Burada bazı IPv6-IPv4 yedek mekanizması var. Aslında, yerel ağımda henüz IPv6 kullanmıyorum:

$ netstat -tunla | grep LISTEN | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN

Makinenize nasıl hitap ederseniz gidin, sonunda aynı servis ve bağlantı noktası olduğunu unutmayın. Geri kalanı temel olarak tarayıcınıza ve DNS çözümleme hizmetlerine bağlıdır. Bununla birlikte, Apache'nin bunu nasıl ele aldığı hakkında daha fazla bilgi için belgelerine göz atmak isteyebilirsiniz :

Apache yöneticileri için karmaşık bir faktör, bir IPv6 soketinin hem IPv4 bağlantılarını hem de IPv6 bağlantılarını işleyip işleyemeyeceğidir. IPv4 bağlantılarını bir IPv6 soketiyle işlemek, çoğu platformda varsayılan olarak izin verilen ancak FreeBSD, NetBSD ve OpenBSD'de varsayılan olarak izin verilmeyen IPv4 eşlemeli IPv6 adreslerini kullanır. Varsayılan olarak izin verilmeyen sistemlerde, özel bir configure parametresi Apache için bu davranışı değiştirebilir.

Temel olarak, bu, platformlar arası uyumluluk ve soket kullanımı ile ilgili sorunların çoğunu önleyecek şekilde hem IPv4 hem de IPv6 yuvalarının kullanılmasıyla ilgilidir. Okuduğunuz gibi, Ubuntu gibi Linux platformlarında bu sorun IPv4 eşlemeli IPv6 adresleri kullanılarak çözülür . Belgeler ayrıca şunları da belirtir:

Apache'nin platform ve APR'nizin neyi destekleyeceğine bakılmaksızın yalnızca IPv4 bağlantılarını işlemesini istiyorsanız, tüm Dinleme yönergelerinde bir IPv4 adresi belirtin.

Hangi ports.confdosyada böyle bir şey verecek :

Listen 0.0.0.0:80 # Or...
Listen 127.0.0.1:80 # Or...
Listen 192.0.2.1:80

Aşağıdaki netstatçıktılardan birinde sonuçlanıyor ...

$ netstat -tunla | grep LISTEN | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN 
$ netstat -tunla | grep LISTEN | grep 80
tcp        0      127.0.0.1:80              127.0.0.1:80            LISTEN
$ netstat -tunla | grep LISTEN | grep 80
tcp        0      192.0.2.1:80              192.0.2.1:80            LISTEN 

Güzel ama IPv6 için hazır olmayan bir dinleyici. Yukarıdaki ayar genellikle /etc/apache2/ports.conf(veya doğrudan apache2.confeski sürümler için) olarak ayarlanır . Varsayılan değer, otomatik ciltleme Listen 80gerçekleştiren , yani belgelerde verilen IPv6 özelliklerine uygun olan değerdir .


1
Huh hem IPv6 hem de IPv4'te açık bağlantı noktalarına dikkat etmeliyim.
meccooll

bu soruyu cevaplamak ve cevaplamak için "askubuntu" katıldı !!!
Prem
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.